[小技巧]利用acme.sh来获取CF上面的通用域名ssl证书(适配*.xxx.com)

Tags:

Problem Definition

  • 非单域名

Solution

和这边提到的是一样的 – 本馆档案

# 下载用于获取ssl证书的脚本
curl https://get.acme.sh | sh


# 去cloudflare.com上面获取下面的信息
export CF_Key="e59702ff9624bbb7f7a4e1a5345"
export CF_Email="[email protected]"


# 基本参数
export TLD_DOMAIN="xxx.com"
export KEY_FILE_PATH="/tmp/x-ui/cert"  # /usr/local/etc/xray/cert


# 获取证书
~/.acme.sh/acme.sh --register-account -m ${CF_Email}
mkdir ${KEY_FILE_PATH}


# ----------------------------------------------------
# 通过dns api方式,这种才需要CF_KEY
# 具体参考 https://github.com/acmesh-official/acme.sh/wiki/dnsapi
~/.acme.sh/acme.sh --issue --dns dns_cf -d ${TLD_DOMAIN}  -d '*'.${TLD_DOMAIN}

# 另外一种通过http访问验证方式; 不需要key和email
### 一定要确保webroot是当前nginx所对应的目录,不然就无法验证了
### ~/.acme.sh/acme.sh --issue  -d ${TLD_DOMAIN}  --webroot /var/www/html
# ----------------------------------------------------


~/.acme.sh/acme.sh --installcert -d ${TLD_DOMAIN} --key-file ${KEY_FILE_PATH}/private.key --fullchain-file ${KEY_FILE_PATH}/cert.crt
~/.acme.sh/acme.sh --upgrade --auto-upgrade
chmod -R 755 ${KEY_FILE_PATH}

Leave a Reply