背景说明
原使用Let’s Encrypt证书因其良好浏览器兼容性、ACME自动化部署支持和泛域名证书能力。但由于关键技术问题,决定全面更换为ZeroSSL提供的SSL证书解决方案。
放弃Let’s Encrypt的核心原因
1. OCSP验证访问故障
- OCSP验证域名因未知原因无法访问
- 服务器开启OCSP装订仅部分缓解问题
- iOS端Chromium浏览器(Chrome、新版Edge)仍强制验证
- 3秒超时等待影响用户体验
2. 根证书兼容性问题
- Let’s Encrypt的X3根证书即将到期
- 新签发根证书有效期较短
- 安卓7以下系统无法信任新证书
- 2016年前设备存在兼容性障碍
选择ZeroSSL的优势
- ACME自动化支持:完整兼容ACME协议自动化部署
- 泛域名证书:支持通配符证书申请
- 免费政策:通过ACME方式无限制签发证书
- 工具集成:acme.sh官方支持一键切换CA
- 成本效益:零费用实现证书迁移

acme.sh工具迁移实操
环境准备
- 管理工具:使用acme.sh统一管理证书
- DNS验证:采用DNS API自动化验证方式
- 支持厂商:Cloudflare、DNSPod、GoDaddy等数十家DNS服务商
- 配置参考:官方文档 https://github.com/acmesh-official/acme.sh/wiki/dnsapi

步骤详解
- 账户注册
- 访问ZeroSSL注册页面:https://app.zerossl.com/signup
- 创建免费账户
- 获取EAB凭证
- 进入开发者页面:https://app.zerossl.com/developer
- 生成并保存eab-kid和eab-hmac-key
- 注册ACME账户
acme.sh --register-account --server zerossl \
--eab-kid 你的eab-kid \
--eab-hmac-key 你的eab-hmac-key - 切换默认CA
acme.sh --set-default-ca --server zerossl
- 签发新证书
acme.sh --issue --dns dns_dp -d ffis.me -d *.ffis.me
- 安装证书
acme.sh --install-cert -d ffis.me \
--key-file /usr/local/nginx/conf/ssl/ffis.me.key \
--fullchain-file /usr/local/nginx/conf/ssl/ffis.me.crt \
--reloadcmd "systemctl force-reload nginx.service"
Nginx配置更新
修改网站Nginx配置文件中的SSL证书路径指向新证书位置,完成配置更新。
效果验证
- OCSP问题解决:完全避免OCSP无法访问问题
- 兼容性提升:更好的老设备支持能力
- 性能优化:消除3秒验证超时延迟
- 自动化维护:保持ACME自动续期功能
注意事项
- 确保DNS API配置正确
- 备份原证书以防迁移失败
- 验证新证书安装后的网站访问
- 监控自动续期功能正常运行
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容