先说结论:用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



暂无评论内容