申请Let‘s Encrypt免费SSL证书、自动化续签证书
一、安装certbot
github: https://github.com/certbot/certbot/
apt install certbot
二、执行命令
certbot certonly --webroot -w [Web站点目录] -d [站点域名] -m [联系人email地址] --agree-tos
站点目录:html文件保存位置,只需要到文件夹即可。比如index.html在/www/a/b/index.html,则这里只要取/www/a/b即可。
站点域名:购买的域名。
联系人email地址:填写自己的邮箱即可。
申请成功后,会在/etc/letsencrypt/live/{域名}/下,生成一些文件。
可以查看一下证书有效期
openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem
三、配置Nginx(参考)
ssl_certificate /etc/letsencrypt/live/{域名}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{域名}/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
配置完成后记得重启nginx!!!
四、续签
1.续签命令,根据需求使用
## 更新证书
certbot renew --dry-run
## 如果不需要返回的信息,可以用静默方式
certbot renew --quiet
2.自动续签,使用crontab
加入crontab
crontab -e
3.加入命令(续签并重载nginx配置)
0 10 * * 1 certbot renew --quiet && nginx -s reload
这里配置的是每周一 10点执行一次,根据个人需求更改配置即可。
参考:https://blog.csdn.net/qq_40579464/article/details/131117495