netnr/ acme.sh 2019-01-17 20:18
使用 acme.sh 从 ZeroSSL 生成免费的 https 证书
yum install socat # CentOS7 需要先安装 socat

curl https://get.acme.sh | sh -s email=netnr@netnr.com # 一键安装

# 从 git 安装
git clone https://github.com/acmesh-official/acme.sh.git && cd ./acme.sh
./acme.sh --install -m netnr@netnr.com --server zerossl

# 安装完后重新加载 Bash
bash

acme.sh --list # 列表
acme.sh --help # 帮助命令
acme.sh remove "netnr.com" # 删除
acme.sh --upgrade # 更新版本
acme.sh --upgrade --auto-upgrade # 自动更新版本
acme.sh --upgrade --auto-upgrade 0 # 关闭自动更新

# 使用 DNS API 自动颁发证书,说明非常详细
https://github.com/acmesh-official/acme.sh/wiki/dnsapi

# 以阿里云为例

# 密钥申请地址
# https://ak-console.aliyun.com/#/accesskey

# 需要输入对应域名商的密钥
# 密钥保存的的路径
cat ~/.acme.sh/account.conf

# 输入密钥
export Ali_Key=""
export Ali_Secret=""

# 注册 ZeroSSL (证书由 Let's 改为 ZeroSSL)
acme.sh --register-account -m netnr@netnr.com --server zerossl

# 申请
acme.sh --issue --dns dns_ali -d netnr.com -d *.netnr.com
acme.sh --issue --dns dns_ali -d *.do.netnr.com
# 注意:阿里云是 dns_ali,其它的域名商后缀不同
# 输出详细信息
acme.sh --issue --dns dns_ali -d zme.ink -d *.zme.ink --debug 

# 重新生成证书(等待解析完成之后)
acme.sh --force --renew -d netnr.com
acme.sh --force --renew -d zme.ink

# copy/安装
mkdir -p /package/ssl/netnr.com
acme.sh --install-cert -d netnr.com --key-file /package/ssl/netnr.com/private.key --fullchain-file /package/ssl/netnr.com/fullchain.cer --reloadcmd "nginx -s stop && nginx"
mkdir -p /package/ssl/do.netnr.com
acme.sh --install-cert -d *.do.netnr.com --key-file /package/ssl/do.netnr.com/private.key --fullchain-file /package/ssl/do.netnr.com/fullchain.cer --reloadcmd "nginx -s stop && nginx"