MENU

使用 ACME 自动更新 SSL 证书

2019 年 06 月 09 日 • 阅读: 279 • 脚本

证书生成

以下脚本默认使用 aliddns 验证域名所有权,因此需要在第 3-5 行填上域名,以及 aliyunkeysecret,填写完毕后直接执行。

#!/usr/bin/env bash

domain="example.com"
export Ali_Key="xxxxxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxxxx"
# DNSPOD
# export DP_Id="xxxxxxxxx"
# export DP_Key="xxxxxxxxxxxxxxxxxx"

cert_dir="/etc/nginx/ssl/$domain"
[[ ! -d $cert_dir ]] && mkdir -p $cert_dir

curl https://get.acme.sh | sh
/root/.acme.sh/acme.sh --issue --dns dns_ali -d $domain -d *.$domain
# DNSPOD
# /root/.acme.sh/acme.sh --issue --dns dns_dp -d $domain -d *.$domain
/root/.acme.sh/acme.sh --install-cert -d $domain -d *.$domain \
--key-file       $cert_dir/privkey.pem  \
--fullchain-file $cert_dir/fullchain.pem \
--reloadcmd     "nginx -s reload"

Nginx 配置

server {
    # ...
    ssl_certificate /etc/nginx/ssl/<domain>/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/<domain>/privkey.pem;
    # ...
}

经过以上设置,SSL 证书便可自动续期,无需人工干预。

最后编辑于: 2019 年 08 月 29 日
0:00