acme.sh如何添加并续签SSL/TLS证书【保姆级教程】
以下是从安装到自动续签的完整操作流程:使用 acme.sh
一: 安装 acme.sh
重要说明:
-
将
your_email@example.com替换为您的真实邮箱,这个邮箱用于接收证书到期提醒和账户通知。 -
这个命令会自动将
acme.sh安装到您的~/.acme.sh/目录下。 -
安装完成后会自动创建一个定时任务(Cron Job),用于自动续签证书。您可以通过
crontab -l查看。
安装后需要重新加载配置或重新登录:
二:签发证书(DNS验证方式)
登录 ,这里以京东云为例
-
点击页面右上角头像、点击 Access Key

-
点击创建 Access Key,就能生成一个随机的 Access Key ID、Access Key Secret。就可以得到:

-
在云主机里 export 变量:
-
签发证书:
这一步 acme.sh 会自动调用京东云解析 API 添加 TXT 记录,验证通过后立刻删除,无需你手工干预。
三:安装/部署证书(示例:Nginx):
因为生成的证书相关配置文件在目录:~/.acme.sh/中的对应域名_ecc下,但强烈建议 复制到固定目录 再引用,防止日后 acme.sh 升级或路径变动:
例如:
因此给 Nginx 配证书时,只要:
四:让 acme.sh 以后自动复制并 reload:
五:配置ssl到nginx服务器【访问80端口强制跳转到443的域名服务】:
六:后续维护:
-
证书到期前 30 天 acme.sh 会自动续签、自动复制、自动
reloadcmd,无需人工干预。 -
若要手动测试续期
七:常见坑复查表
| 现象 | 检查点 |
|---|---|
| 80 不跳转 | ① curl -I http://域名 看是否 301;② 安全组是否放行 80;③ DNS 是否指向本机 |
| 跳转后 URI 带空格 | 配置里 https://$host $request_uri 多了空格,去掉即可 |
| 浏览器仍显示旧证书 | 确认 ssl_certificate 路径指向 /etc/nginx/ssl/example.com.crt 且已 reload |
把上面代码整段复制即可上线,今后只改业务代码,不用再碰证书。
本文来自博客园,作者:Carvers,转载请注明原文链接:https://www.cnblogs.com/carver/articles/19199351

浙公网安备 33010602011771号