安装 certbot
1 2
| yum install -y epel-release yum install -y certbot
|
安装证书前
- 安装证书前先准备个临时目录,有个 index.html
- 配置 nginx 增加你要添加证书的 server
1 2 3 4 5 6 7 8 9 10
| server{ listen 80; server_name you_add_domain root /your/test/www/dir location / { index index.html } }
|
standalone 模式
有些时候我们的一些服务并没有根目录,例如一些微服务,这时候使用 –webroot 就走不通了。certbot 还有另外一种模式 –standalone,这种模式不需要指定网站根目录,他会自动启用服务器的443端口,来验证域名的归属。我们有其他服务(例如nginx)占用了443端口,就必须先停止这些服务,在证书生成完毕后,再启用。
1
| certbot certonly --standalone -d sub.domain.com -m xxxxxx@xxx.com --agree-tos
|
证书生成后文件:
- cert.pem 服务端证书
- chain.pem 浏览器需要的所有证书但不包括服务端证书,比如根证书和中间证书
- fullchain.pem 包括了cert.pem和chain.pem的内容
- privkey.pem 证书的私钥
nginx ssl 配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
server { listen 80; server_name example.your.domain; rewrite ^(.*) https://$server_name$1 permanent; }
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 { } }
|
查看已安装的证书
删除证书
千万别删除文件夹的方式删除
1
| certbot delete --cert-name example.com
|
手动续期
自定续期
安装 cron 服务
1 2
| yum -y install vixie-cron yum -y install crontabs
|
启动 cron 服务
1 2 3
| service crond start
systemctl enable crond
|
查看 corn 位置
1 2 3 4 5
| /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 配置
此命令会在 /var/spool/cron
下创建 ‘root’ 命名的 root 用户定时配置文件
添加定时任务
1
| 15 3 * * * /usr/bin/certbot renew --quiet
|
添加完后需要重启