为网站接入免费SSL证书let's encrypt 并实现自动续签功能

以ubuntu系统为例:

1.安装certbot:

apt update
apt upgrade
sudo apt install certbot python3-certbot-nginx

2.验证Web服务器端口是否打开并允许通过防火墙

sudo ufw status verbose

3.获取SSL证书

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

4.检查Certbot的状态

sudo systemctl status certbot.timer

5.检查证书到期时间:

openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem

也可以直接打开浏览器访问域名,点击域名前面的小锁,点击 "连接是安全的" -> “证书有效”查看:

 

 6.手动运行SSL续订:

certbot renew --force-renew  

7.配置到crontab中自动续签:(此处有坑,我专门开了另一篇文章去讨论,有兴趣的可以看看)

crontab -e //编辑计划任务

SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 01 01 01 * * /usr/bin/sh /home/xxx/htdocs/www.xxx.com/crontab.sh>a.log 2>&1

crontab.sh脚本内容:
#!/bin/bash

/usr/bin/certbot renew --force-renew && nginx -s reload

 

posted @ 2023-10-17 11:24  童年的回忆  阅读(926)  评论(0编辑  收藏  举报
如果本博客解决了您的问题,可以微信支付宝打赏鼓励一下作者哦,在此表示感谢