免费SSL证书申请与自动续期,CMS站点适用

免费SSL证书申请与自动续期:CMS站点实操指南

给 CMS 站点启用 HTTPS 并不复杂,用 acme.sh 配合 Let's Encrypt 即可申请免费证书,再通过计划任务实现自动续期。
本文面向零基础站长,从准备条件到验证结果逐步说明,完成后面板或命令行都能量化检查证书状态。

开始前确认三个条件: 域名已解析到服务器 IP;
80 或 443 端口可被外网访问;
服务器已安装 Nginx 或 Apache(宝塔面板用户默认已装)。
验证解析是否生效:

dig +short yourdomain.com
# 或
ping yourdomain.com

返回的 IP 与服务器公网 IP 一致即可继续。

方式一:宝塔面板申请(适合不熟悉命令行的用户)

登录宝塔面板,进入「网站」→ 点击目标站点「设置」→「SSL」→「Let's Encrypt」。
勾选需要签发的域名,文件验证方式保持默认,点击「申请」。

申请成功后,
面板会提示证书有效期。宝塔默认会为 Let's Encrypt 证书添加续期计划任务
可在「计划任务」列表中查看名为 续签Let's Encrypt证书 的任务,
确认其状态为正常。

验证证书是否生效:

curl -I https://yourdomain.com
# 返回 HTTP/2 200 且无证书警告即表示成功

方式二:acme.sh 命令行申请(适合自建环境)

安装 acme.sh(普通用户即可,无需 root):

curl https://get.acme.sh | sh -s email=you@example.com
source ~/.bashrc

使用 webroot 模式签发证书,假设站点根目录为 /www/wwwroot/yourdomain

acme.sh --issue -d yourdomain.com -d www.yourdomain.com \
  --webroot /www/wwwroot/yourdomain

签发成功后,用 --install-cert 将证书部署到 Nginx 目录并设置重载命令:

acme.sh --install-cert -d yourdomain.com \
  --key-file /etc/nginx/ssl/yourdomain.key \
  --fullchain-file /etc/nginx/ssl/yourdomain.pem \
  --reloadcmd "nginx -s reload"

在 Nginx 站点配置中加入 HTTPS 监听:

server {
    listen 443 ssl http2;
    server_name yourdomain.com www.yourdomain.com;
    ssl_certificate     /etc/nginx/ssl/yourdomain.pem;
    ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
    # 其余 CMS 伪静态和 PHP 配置保持原样
}

执行 nginx -t 检查语法,无误后 nginx -s reload 重载。

自动续期是怎么工作的

acme.sh 安装时会自动创建 cron 任务,默认每天检查一次证书有效期,剩余不足 30 天时自动续签。
查看任务是否写入:

crontab -l | grep acme

手动测试续期流程(不会真正签发,只验证配置):

acme.sh --renew -d yourdomain.com --force --dry-run

如果输出 Cert success 之类信息且无报错,说明自动续期链路正常。
宝塔面板用户则无需手动操作,默认任务已覆盖续期。

容易踩的几个坑

验证失败多半是解析或端口问题。 签发时提示 Timeout during connect,先确认域名解析正确、80 端口未被防火墙拦截。
云服务器安全组需放行 80 和 443。

证书路径写错导致 Nginx 启动失败。 修改配置后务必先 nginx -t,通过后再 reload,避免站点直接中断。

续期后未重载服务。 命令行方式必须通过 --install-cert--reloadcmd 指定重载命令,否则证书更新了但 Nginx 仍加载旧证书。

CMS 后台仍显示 HTTP。 部分 CMS 需要手动把站点地址改为 https://,并检查主题或插件中是否有硬编码的 http 链接,否则会出现混合内容警告。

如何确认一切正常

浏览器访问站点,地址栏显示锁图标且无警告;
点击锁图标查看证书有效期和签发机构。
命令行可用 openssl 直接检查:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates

输出的 notAfter 即证书到期时间,正常应为当前日期后约 90 天。
等到临近到期时再执行一次检查,确认自动续期已生效即可。

常见疑问

免费证书能用多久? Let's Encrypt 证书有效期通常为 90 天,因此自动续期是必要环节,不是可选项。

自动续期失败怎么办? 先看 acme.sh --cron 的输出日志,再确认 80 端口是否仍可访问、webroot 目录是否变化。
修复后手动执行一次 --renew 即可恢复。

可以同时给多个 CMS 站点申请吗? 可以。
每个域名单独执行一次 --issue,证书路径和重载命令分别配置,互不影响。

完成以上步骤后,你的 CMS 站点就具备免费 SSL 证书和自动续期能力。
后续如果更换服务器或迁移站点,记得把 acme.sh 的 cron 任务和证书目录一并迁移,避免续期中断。

分享到:
上一篇
网站SSL证书部署,HTTPS配置完整步骤
下一篇
HTTPS跳转失败,Nginx配置错误修复
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意