Let's Encrypt 的实际使用体验如何?
作者:卡卷网发布时间:2024-12-13 00:10浏览数量:107次评论数量:0次
目前免费证书的大部分有效期都是3个月,博主之前使用acme.sh管理证书,但是在易用性上比价差,自动更新经常不生效,最近将证书管理替换成了certbot。certbot相对而言有以下优势:
- Let's Encrypt 官方推荐的客户端工具
- 自动续期:Let’s Encrypt 证书的有效期为 90 天,Certbot 会自动在证书到期前更新它们,确保 HTTPS 服务的持续性。
- 自动配置 Web 服务器(如 Apache、Nginx),使其使用新获得的证书提供 HTTPS 服务。
使用 Certbot 的基本步骤
1、安装 Certbot
- 对于 Ubuntu/Debian 系统,你可以使用以下命令安装 Certbot:
sudo apt-get updatesudo apt-get install certbot python3-certbot-nginx - 对于 CentOS 系统,你可以使用以下命令安装 Certbot:
sudo yum install epel-releasesudo yum install certbot python3-certbot-nginx
2、编辑配置文件
不同的域名提供商有不同的配置参数,以下以腾讯云DNSPod为例。
为了让Certbot支持DNSPod,需要先安装certbot-dns-dnspod插件(Github地址):
sudo pip install git+https://github.com/tengattack/certbot-dns-dnspod.git
然后到DNSPod Token平台创建秘钥,然后创建文件:/etc/certbot-dnspod.ini,其中dns_dnspod_api_id和dns_dnspod_api_token填写刚在DNSPod申请的秘钥信息,内容如下:
dns_dnspod_api_id = ***dns_dnspod_api_token = ******
执行以下命令更改文件权限:
chmod 600 /path/to/credentials.ini
3、第一次申请证书
配置命令如下,将域名改成你自己的域名,certbot支持一个证书同时支持根域名和泛域名。
certbot certonly -a dns-dnspod \ --dns-dnspod-credentials /etc/certbot-dnspod.ini \
-d lesofn.com \
-d "*.lesofn.com"
执行成功会输出:
Certificate is saved at: /etc/letsencrypt/live/lesofn.com/fullchain.pemKey is saved at: /etc/letsencrypt/live/lesofn.com/privkey.pem
4、手动更新证书
certbot renew# 只验证,不真正更新certbot renew --dry-run
5、Cron定时更新证书
编辑cron配置:crontab -e
添加一下命令:
0 0 * * 0 date >> /var/log/certbot-renew.log && /usr/local/bin/certbot renew >> /var/log/certbot-renew.log
至此,证书生成及自动更新就配置完成了。
使用证书(nginx)
配置nginx文件如下:
server { listen 443 ssl;
server_name lesofn.com;
ssl_certificate /etc/letsencrypt/live/lesofn.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/lesofn.com/privkey.pem;
......
}
批量替换acme.sh生成的证书:
acme.sh证书默认路径是:~/.acme.sh/lesofn.com_ecc,使用以下命令替换多个nginx配置文件中的证书:
sed -i 's!/{your_acme_path}/lesofn.com_ecc/fullchain.cer!/etc/letsencrypt/live/lesofn.com/fullchain.pem!g' *sed -i 's!/{your_acme_path}/lesofn.com_ecc/lesofn.com.key!/etc/letsencrypt/live/lesofn.com/privkey.pem!g' *
检查nginx文件并重启nginx:
nginx -t && nginx -s reload
监控和维护
定期检查Nginx和Certbot的日志,以确保证书续签正常运行。如果发现问题,可以手动更新证书或调整自动续签脚本。
可以打开浏览器查看证书,也可以使用以下命令检查:
openssl x509 -in /etc/letsencrypt/live/lesofn.com/fullchain.pem -noout -dates
原文链接:使用certbot生成及自动更新证书
作者简介:木小丰,架构师,专注分享软件研发实践、架构思考。欢迎关注公众号:Java研发
更多精彩文章:
稳定性建设实践
高效能团队的Java研发规范(进阶版)
错误码设计思考 从MVC到DDD的架构演进
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
- 上一篇:AMD处理器的性能和稳定性如何?
- 下一篇:自学技能的网站可以推荐一下吗?
相关推荐

你 发表评论:
欢迎