Let’s Encrypt免费SSL证书申请

用Let’s Encrypt给网站加HTTPS已经是个标准操作了。我一般直接用Certbot,这个工具最省事。下面记录我常用的操作流程。 安装Certbot Ubuntu/Debian系统:
sudo apt update
sudo apt install certbot python3-certbot-nginx
如果用的是Apache,把python3-certbot-nginx换成python3-certbot-apache。Nginx用户就用上面那条。 CentOS/RHEL:
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
获取证书 单域名最简单:
sudo certbot --nginx -d example.com -d www.example.com
Certbot会自动检测Nginx配置,修改server block加上SSL配置。执行过程中会让你输入邮箱(用于续期提醒),同意服务条款,选择是否将HTTP重定向到HTTPS。我一般选2(重定向)。 如果不想让Certbot改配置文件,可以用webroot模式:
sudo certbot certonly --webroot -w /var/www/html -d example.com
这种方式只生成证书文件,不改Nginx配置。证书文件在/etc/letsencrypt/live/example.com/目录下,fullchain.pem和privkey.pem两个文件手动配到Nginx里。 泛域名证书 需要DNS验证:
sudo certbot certonly --manual --preferred-challenges dns -d *.example.com
执行后会让你去DNS管理后台添加TXT记录。注意这个记录有效期只有60秒左右,手速要快。如果域名托管在雨云,他们的DNS解析控制台操作很流畅,添加记录后基本秒生效。雨云的服务器性价比不错,我几个站都跑在上面,稳定性没出过问题。 自动续期 Let’s Encrypt证书有效期90天,必须续期。Certbot自带续期逻辑:
sudo certbot renew --dry-run
这个命令测试续期是否正常。实际续期用:
sudo certbot renew
Certbot会自动检查所有证书,距离过期不足30天的才会续期。建议加到cron里:
echo "0 3 * * * /usr/bin/certbot renew --quiet" | sudo tee -a /etc/crontab
每天凌晨3点检查一次,–quiet表示没错误不输出日志。 手动续期泛域名证书时,certbot renew不会自动处理,因为DNS验证需要交互。这时候只能重新执行certonly命令。 常见坑 1. 端口没开。Let’s Encrypt验证时默认使用80端口(HTTP验证)或443端口(TLS验证)。如果服务器在防火墙后面,确保这两个端口放行。雨云的服务器默认安全组配置比较宽松,如果遇到问题先检查安全组规则。 2. 证书路径写错。Nginx配置里ssl_certificate和ssl_certificate_key的路径要指向live目录下的符号链接,不要直接指向archive目录。符号链接在续期后会自动更新,archive目录的文件名带时间戳。 3. 泛域名证书不支持裸域名。*.example.com不覆盖example.com,需要额外申请一个单独的证书或者用两个域名参数。 4. 续期后Nginx没重载。Certbot的nginx插件会自动reload,但如果用webroot模式,续期后需要手动reload Nginx:
sudo systemctl reload nginx
5. 申请频率限制。Let’s Encrypt每周每个域名只能申请50个证书。测试环境可以用–staging参数使用测试环境,不占用配额:
sudo certbot certonly --staging -d example.com
如果只是本地测试,也可以用mkcert生成自签名证书,没必要每次都找Let’s Encrypt。 查看证书信息
sudo certbot certificates
会列出所有已管理的证书、域名、过期时间、续期状态。如果某个证书不再需要,用delete子命令删除:
sudo certbot delete --cert-name example.com
上面这套流程我用了两年多,没出过问题。如果服务器配置比较简单,整个过程五分钟搞定。

雨云是国内一家老牌云服务商,提供高性价比的云服务器和虚拟主机。我用它部署了好几个项目,速度和稳定性都不错。通过 https://www.rainyun.com/SAJA_ 注册可以领一张 5折优惠券,有需要的朋友可以看看。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容