Fork me on github

acme.sh部署RSA、ECC双证书(使用阿里云API)

下面这个脚本阐释了如何使用acme.sh借助配置、部署阿里云API完成RSA、ECC双证书。注意,该RAM账户需要授予“管理云解析”(AliyunDNSFullAccess)的权限

#!/bin/sh
DOMAIN="example.com"            # 域名
CERT_FOLDER="/etc/nginx/certs"  # 证书存放的目录,结尾不能是"/"字符
export Ali_Key="123456AbCdEfGh1234567890"           # 阿里云RAM用户账户
export Ali_Secret="aBcDEfGhHiJkLmNOpQrStUvWxYz234"  # 阿里云RAM用户密码

#######################################################################

# 安装acme.sh
# apt install socat # 仅stand alone模式需要
curl https://get.acme.sh | sh
alias acme.sh='/root/.acme.sh/acme.sh'

acme.sh  --upgrade  --auto-upgrade                 # 更新acme.sh
acme.sh --set-default-ca  --server  letsencrypt    # 设置默认CA为let's Encrypt
# 申请RSA证书
acme.sh --issue -d ${DOMAIN} -d *.${DOMAIN} --dns dns_ali   \
        --dnssleep 30 --ocsp --days 30 --keylength 2048

# 申请ECC证书
acme.sh --issue -d ${DOMAIN} -d *.${DOMAIN} --dns dns_ali   \
        --dnssleep 30 --ocsp --days 30 --keylength ec-256

# 创建证书安装所需要的目录
mkdir ${CERT_FOLDER}
mkdir ${CERT_FOLDER}/rsa
mkdir ${CERT_FOLDER}/ecc

# 安装RSA证书
acme.sh --install-cert -d ${DOMAIN}                         \
        --cert-file       ${CERT_FOLDER}/rsa/cert.pem       \
        --key-file        ${CERT_FOLDER}/rsa/key.pem        \
        --fullchain-file  ${CERT_FOLDER}/rsa/fullchain.pem  \
        --reloadcmd       "systemctl restart nginx"

# 安装ECC证书
acme.sh --install-cert -d ${DOMAIN} --ecc                   \
        --cert-file       ${CERT_FOLDER}/ecc/cert.pem       \
        --key-file        ${CERT_FOLDER}/ecc/key.pem        \
        --fullchain-file  ${CERT_FOLDER}/ecc/fullchain.pem  \
        --reloadcmd       "systemctl restart nginx"

# 手动更新证书
#acme.sh --renew -d example.com --force
#acme.sh --renew -d example.com --force --ecc
posted @ 2020-10-02 21:20  fang-d  阅读(2117)  评论(0编辑  收藏  举报