type
status
date
summary
slug
tags
category
password
icon
acme.sh京东云DNS验证自动续期
DNS验证方式的真正强大之处在于可以使用域名解析商提供的API自动添加DNS的TXT记录,且在完成验证后删除对应的记录,做到无感续期证书。
一、安装脚本
安装命令:
参考国内服务器安装方式:
查看已注册的
ZeroSSL账号信息二、配置ApiKey
尝试了下官方说明:
需要在环境变量中添加京东云的
AccessKey:申请地址将
key、secret设置为环境变量JD_ACCESS_KEY_ID 和 JD_ACCESS_KEY_SECRET 会自动保存在这里 ~/.acme.sh/account.conf, 下次再生成证书时, 可以自动重用。(我试了下设置环境变量没有用,直接去文件里修改吧)高级选项:默认使用的是
cn-north-1 区域. 目前不需要改动, 如果需要改的话, 再生成证书之前执行:三、生成证书
acme.sh脚本默认 CA 服务器是
ZeroSSL,有时可能会导致获取证书的时候一直出现:Pending,The CA is processing your order,please just wait.只需要把 CA 服务器改成
Let's Encrypt 即可,虽然更改以后还是有概率出现pending,但基本 2-3 次即可成功生成证书:(注意泛域名需要写在前)
四、配置证书
证书生成好以后,我们需要把证书复制给对应的
Apache、Nginx或其他服务器去使用。必须使用
--install-cert 命令来把证书复制到目标文件,请勿直接使用 ~/.acme.sh/ 目录下的证书文件,这里面的文件都是内部使用,而且目录结构将来可能会变化。Nginx的配置项 ssl_certificate 需要使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/<domain>.cer ,否则 SSL Labs 的测试会报证书链问题(Chain issues Incomplete)。默认情况下,证书每 60 天更新一次(可自定义)。更新证书后,
Apache或者Nginx服务会通过 reloadcmd 传递的命令自动重载配置。注意:
reloadcmd 非常重要。证书会自动申请续签,但是如果没有正确的 reloadcmd 命令,证书可能无法被重新应用到 Apache 或者 Nginx,因为配置没有被重载。记得修改配置
nginx的config文件,主要是改动ssl_certificate、ssl_certificate_key为配置地址五、其他命令
查看已安装证书定时任务信息
目前证书无需任何操作每 60 天自动更新,也可以人为强制续签证书:
查看已安装证书信息
升级脚本到最新版:
- 作者:PH3C
- 链接:https://notion.966699.xyz//article/acme
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章










