acme证书更新(cloudflare)-docker版nginx

  1. 安装acme.sh

自动安装

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

设置acme.sh自动更新
acme.sh --upgrade --auto-upgrade

手动安装

git clone --depth 1 https://github.com/acmesh-official/acme.sh.git
cd acme.sh
./acme.sh --install -m my@example.com
  1. 映射acme.sh
alias acme.sh=~/.acme.sh/acme.sh
  1. 生成证书

切换letsencrypt

acme.sh --set-default-ca --server letsencrypt
  • CLOUDFLARE
    生成CF_Token【我的个人资料-API令牌-创建令牌-编辑区域dns】区域选所有区域,然后生成
export CF_Email="xxxx@example.com"
export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxx"
acme.sh --issue --dns dns_cf -d aa.com -d www.aa.com
  • DNSPod
    生成DP_Key【账号中心-API密钥-DNSPod Token-创建密钥】
export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"
acme.sh --issue --dns dns_dp -d aa.com -d www.aa.com
  1. 安装证书

替换路径/容器id

acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/cert.key  \
--fullchain-file /path/to/fullchain/nginx/fullchain.cer \
--reloadcmd     "service docker restart 容器id"
  1. 更新证书

目前自动更新证书
请确保 cronjob 正确安装, 看起来是类似这样的:

crontab  -l

56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null