yum install -y epel-release
yum install -y certbot
server{
listen 80;
server_name you_add_domain
root /your/test/www/dir
location / {
index index.html
}
}
有些时候我们的一些服务并没有根目录,例如一些微服务,这时候使用 --webroot 就走不通了。certbot 还有另外一种模式 --standalone,这种模式不需要指定网站根目录,他会自动启用服务器的443端口,来验证域名的归属。我们有其他服务(例如nginx)占用了443端口,就必须先停止这些服务,在证书生成完毕后,再启用。
certbot certonly --standalone -d sub.domain.com -m [email protected] --agree-tos
证书生成后文件:
# 配置一个 80 端口,并转发到 443 端口
# 可以配置多个,也可以一个配置多个域名 用空格分割
server {
listen 80;
server_name example.your.domain; # 修改域名
rewrite ^(.*) https://$server_name$1 permanent; # 转发 443
}
# 配置 443 ,可以多个
server {
listen 443 ssl;
server_name your.domain.com; # 修改域名
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# 配置证书
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
location / {
# 可以是转发,指向目录等
}
location /name {# name 代表在使用该 域名时 通过该目录访问执行的地址。该示例就是 https://your.domain.com/name
# 可以是转发,指向目录等
}
}
certbot certificates
千万别删除文件夹的方式删除
certbot delete --cert-name example.com
/usr/bin/certbot renew
yum -y install vixie-cron
yum -y install crontabs
service crond start
# 开机启动
systemctl enable crond
find / -name "cron"
/etc/selinux/targeted/active/modules/100/cron
/var/log/cron # 这个是日志文件位置,不管它
/var/lib/docker/overlay2/755f150def933bc7d28386aa9c28db653fcc466d4a5f43f42987a8f63e75e566/diff/var/spool/cron
/var/lib/docker/overlay2/f7d173cd29f2405151201e67c6b403e03e41c632e42c53d04f6c66977eb31a67/merged/var/spool/cron
/var/spool/cron # 这里是所有的自动执行任务的 cron 文件存放位置
crontab -e
此命令会在
/var/spool/cron
下创建 ‘root’ 命名的 root 用户定时配置文件
vi /var/spool/cron/root
15 3 * * * /usr/bin/certbot renew --quiet
添加完后需要重启
service crond restart