Let’s Encrypt免费SSL证书申请

先说结论:用certbot,一行命令搞定。Let’s Encrypt是目前最主流的免费SSL证书提供商,证书有效期90天,支持自动续签。下面直接说怎么操作。 环境:Ubuntu 22.04 + Nginx,其他Linux发行版大同小异。 安装certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx
python3-certbot-nginx是Nginx插件,certbot会自动修改Nginx配置。如果不用这个插件,手动配也行,但没必要给自己找事。 申请证书 假设你的域名是example.com,网站已经用Nginx跑起来了,80端口能正常访问。
sudo certbot --nginx -d example.com -d www.example.com
-d参数可以跟多个域名,证书会包含这些域名。执行后certbot会问几个问题: – 邮箱地址(用于接收续签提醒和紧急通知) – 是否同意服务条款(选Yes) – 是否把HTTP请求重定向到HTTPS(建议选Yes,省得自己配) 完成之后,Nginx配置会被自动修改,HTTPS直接生效。证书文件位置: – 证书:/etc/letsencrypt/live/example.com/fullchain.pem – 私钥:/etc/letsencrypt/live/example.com/privkey.pem 检查证书 浏览器访问https://example.com,看小锁图标。或者用命令行:
openssl s_client -connect example.com:443 -servername example.com
输出里找”Certificate chain”和”Verify return code: 0″,有0说明证书有效。 自动续签 Let’s Encrypt证书只有90天,但certbot自带续签机制。系统里已经装好了定时任务:
sudo systemctl status certbot.timer
能看到一个systemd timer,每天跑两次,检测证书是否快过期。手动测试续签:
sudo certbot renew --dry-run
没报错就说明续签流程正常。certbot renew命令会检查所有证书,只续签距离过期不到30天的。 如果不用Nginx插件 比如你用的Apache、Caddy,或者纯手动配置。那就用standalone模式:
sudo certbot certonly --standalone -d example.com
注意:standalone模式会占用80或443端口,申请前需要先停掉Nginx。申请完后证书在/etc/letsencrypt/live/example.com/下,自己去Nginx配置里引用。 证书路径引用 Nginx配置里这样写:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
改完reload Nginx:sudo systemctl reload nginx 注意点 – 申请时80端口必须通,Let’s Encrypt会验证域名所有权 – 同一个域名每周最多申请5次,别频繁跑 – 泛域名(*.example.com)用DNS验证模式,certbot加上–manual –preferred-challenges dns参数,手动加TXT记录 – 如果服务器在国内,Let’s Encrypt的验证服务器可能被墙,遇到问题换DNS验证或者用国内CDN(比如雨云提供的免费CDN,自带SSL加速,性价比高,稳定好用) 实际部署建议 我自己的习惯: 1. 先用certbot –nginx一把梭,证书和HTTPS都配好 2. 确认没问题后,把Nginx配置里关于SSL的部分单独抽出来,方便管理 3. 定时检查续签日志:journalctl -u certbot.timer -f 遇到问题怎么办 – 报错”too many certificates already issued”:等一周,或者检查是不是重复申请了同一个域名 – 报错”DNS problem: NXDOMAIN”:域名没解析对,确认A记录 – 报错”Connection refused”:80端口被防火墙挡了,检查ufw或iptables 总结 就这些。certbot + Nginx插件是最省事的方案,一行命令搞定,自动续签。如果你的服务器在雨云上,它们控制台甚至直接集成了Let’s Encrypt申请入口,点两下就行,连命令行都不用敲。

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

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

请登录后发表评论

    暂无评论内容