181 字
1 分钟
acme使用并多节点同步证书

安装acme#

Terminal window
curl https://get.acme.sh | sh -s email=my@example.com

email随意填

使用DNS API验证生成证书#

下面以CloudFlare举例

  1. 获取区域ID 获取区域ID
  2. 获取API TOKEN 获取API TOKEN
  3. 配置上面获取到的变量
    Terminal window
    export CF_Zone_ID="xxxxxx4f1bcebd8b5c95e9fc50d010b4" && export CF_Token="Y_xxxxxxfQmuX5Ss9M_qaNab6SQwme3HWXNxxxxs"
  4. 生成证书
    Terminal window
    ./acme.sh --issue --dns dns_cf -d <your domain> -d '*.<your domain>'

复制证书#

nginx示例

Terminal window
./acme.sh --install-cert -d <your domain> \
--key-file /etc/ssl/path/key.pem \
--fullchain-file /etc/ssl/path/cert.pem \
--reloadcmd "service nginx reload"

多节点同步证书#

  1. 安装Rclone
  2. 配置rclone

    rclone支持多种存储类型 按需配置

  3. acme运行节点配置
    Terminal window
    vim sync_ssl.sh
    Terminal window
    rclone sync /etc/ssl/path <your rclone remote name>:/backup/ssl/path
    Terminal window
    chmod +x sync_ssl.sh
    Terminal window
    crontab -e
    # 0 14 * * * /your/path/sync_ssl.sh
  4. 其他节点配置
    Terminal window
    vim sync_ssl.sh
    Terminal window
    rclone sync <your rclone remote name>:/backup/ssl/path /etc/ssl/path
    Terminal window
    chmod +x sync_ssl.sh
    Terminal window
    crontab -e
    # 0 14 * * * /your/path/sync_ssl.sh

参考文章#

  1. acme安装
  2. rclone文档
acme使用并多节点同步证书
https://blog.beocean.net/posts/acme/
作者
Beocean
发布于
2024-12-10
许可协议
CC BY-NC-SA 4.0