1. 首页
  2. 系统运维
  3. Linux

acme GoDaddy域名解析实现免费SSL证书自动续签

在 CentOS 7 使用 acme.sh 搭配 GoDaddy API Key 的方式,來自动续签 Let’s Encrypt 免费的SSL网站证书,完全不需手动执行任何操作。

acme GoDaddy域名解析实现免费SSL证书自动续签

使用 Let’s Encrypt 通配符证书 (Wildcard Certificates) 的方式,就不用针对每个子网域申请一个对应的凭证,即可通用于所有子网域的网站。对于像有多子网域的网站,使用起来就更方便了。

GoDaddy

使用 API Key 就能自动续期凭证, 无需手动执行任何操作。

新增 API Key

前往 GoDaddy 新增 API Key:

acme GoDaddy域名解析实现免费SSL证书自动续签

输入自订的 API Key 名称,且必须选择「Production」:

acme GoDaddy域名解析实现免费SSL证书自动续签

产生 API 的 Key 与 Secret,在后续的申请免费SSL证书需要用到:

Secret 只会在这显示而已,所以必须先复制好在关闭

acme GoDaddy域名解析实现免费SSL证书自动续签

acme.sh

安装

使用 curl 安装 (其它安装方式可参考 GitHub – Neilpang/acme.sh)

curl https://get.acme.sh | sh
...以上省略...
 Good, bash is found, so change the shebang to use bash as preferred. 
 OK 
 Install success! 

重新登录一下SSH终端。

自动更新

由于 acme.sh 仍不断在发展,因此建议让它保持在最新的状态。

手动更新到最新:

acme.sh --upgrade

启用自动更新:

acme.sh --upgrade --auto-upgrade

禁用自动更新:

acme.sh --upgrade --auto-upgrade 0

申请SSL证书

将上述 GoDaddy 新增的 API Key 和 Secret 贴上并执行:

GD_Key 和 GD_Secret 会被保存在 /.acme.sh/account.conf,需要时会被重复使用

export GD_Key="xxxxxtpTEP3_xxxxxx9dn3Tdwv8PZxxxxx"
export GD_Secret="xxxxxtmxxxxxZwuWrxxxxx"

申请证书,成功后会显示凭证存放的路径:

acme.sh --issue --dns dns_gd -d szl724.com -d *. szl724.com 

安装证书

Nginx 配置可参考 CentOS 7 Let’s Encrypt 免费 SSL/TLS 凭证 HTTPS 设置 for Nginx

新增一个保存证书的自订目录:

mkdir /etc/nginx/ssl/szl724.com

将证书安装到上述新增的目录路径 (请替换 szl724.com 为要申请的域名和 /etc/nginx/ssl/…路径),并强制重启 Nginx:

acme.sh 每 60 天会自动重新加载这个指令来自动续签,完全不需手动执行任何操作!

# acme.sh --install-cert -d szl724.com \
--key-file /etc/nginx/ssl/szl724.com/key.pem \
--fullchain-file /etc/nginx/ssl/szl724.com/cert.pem \
--reloadcmd "service nginx force-reload"

停止自动续期

从续期列表中移除凭证 (请替换 szl724.com 为要申请的域名):

凭证目录须自行删除,例如 ~/.acme.sh/szl724.com/

acme.sh --remove -d szl724.com

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code