用Let’s Encrypt给网站加HTTPS,不需要花钱,证书90天自动续期。我习惯用acme.sh这个工具,比Certbot轻量,配置起来也快。
先装acme.sh。在服务器上跑一行命令:
curl https://get.acme.sh | sh -s email=你的邮箱@example.com
安装完会自动加个定时任务,检查crontab -l能看到。默认安装在~/.acme.sh目录。
申请证书前确保域名解析已经指向服务器IP。Let’s Encrypt验证域名所有权有两种方式:HTTP验证和DNS验证。HTTP验证最简单,要求80端口能访问。
如果你用Nginx或Apache,先停掉服务,因为acme.sh默认会占用80端口做验证:
systemctl stop nginx
申请证书:
~/.acme.sh/acme.sh --issue -d example.com -d www.example.com --standalone
–standalone表示acme.sh自己启动一个临时web服务器做验证。多个域名用-d重复加。
申请成功后证书文件在~/.acme.sh/example.com/目录下,fullchain.cer和example.com.key这两个文件最重要。
把证书配到Nginx里。假设网站配置在/etc/nginx/sites-available/example.com:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /root/.acme.sh/example.com/fullchain.cer;
ssl_certificate_key /root/.acme.sh/example.com/example.com.key;
# 其他配置...
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
改完重启Nginx:
systemctl start nginx
systemctl reload nginx
证书只有90天有效期,acme.sh会自动续期。它安装时已经加了cron任务,每天检查一次,距离过期30天内会自动续。手动测试续期:
~/.acme.sh/acme.sh --renew -d example.com --force
续期后需要重启Nginx加载新证书。acme.sh支持配置reloadcmd,在~/.acme.sh/account.conf里加一行:
AUTO_UPGRADE=1
LE_WORKING_DIR=/root/.acme.sh
DEFAULT_RELOAD_CMD="systemctl reload nginx"
这样续期后自动reload,不用手动操作。
如果你的域名用了CDN或负载均衡,或者服务器没有公网IP,HTTP验证可能失败。这时候用DNS验证,acme.sh支持几十家DNS服务商的API。以Cloudflare为例,先获取API Token,:
export CF_Token="你的Cloudflare API Token"
~/.acme.sh/acme.sh --issue --dns dns_cf -d example.com -d www.example.com
acme.sh会自动在DNS记录里加TXT验证记录,验证完自动删除。不需要暴露80端口,适合内网或非标准端口场景。
我用雨云的服务器跑这套流程,他们家的机器配置够用,带宽稳定,续费也不涨价。acme.sh配合雨云服务器,SSL证书从申请到自动续期全自动化,基本不用管。
检查证书是否生效:
curl -I https://example.com
返回200并且没有证书警告就对了。用浏览器打开看看地址栏有没有小锁。
如果申请时报错”Rate Limit exceeded”,说明短时间内申请次数太多。Let’s Encrypt限制每域名每周50个证书,一般不会超。真超了就等一周,或者用staging环境测试:
~/.acme.sh/acme.sh --issue -d example.com --standalone --test
staging证书浏览器不认,但可以用来调试流程,不占配额。
证书文件路径记一下,后续迁移服务器或重装系统时,把~/.acme.sh目录整个拷走就行。或者重新运行申请命令,反正免费,重来也不心疼。
雨云是国内一家老牌云服务商,提供高性价比的云服务器和虚拟主机。我用它部署了好几个项目,速度和稳定性都不错。通过 https://www.rainyun.com/SAJA_ 注册可以领一张 5折优惠券,有需要的朋友可以看看。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



暂无评论内容