代码仓库地址:<https://github.com/Neilpang/acme.sh>

1. 安装 acme.sh
yum -y install socat
curl https://get.acme.sh | sh
2. 添加云服务商安全访问密钥并授权管理DNS记录

本次以 AWS 为例,授权策略配置如下:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "route53:ListHostedZones"
         ],
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "route53:GetHostedZone",
            "route53:ListResourceRecordSets",
            "route53:ChangeResourceRecordSets"
         ],
         "Resource": "arn:aws:route53:::hostedzone/托管区 ID"
      }
   ]
}
3. 当前 Shell 添加安全访问密钥变量
export AWS_ACCESS_KEY_ID=申请的AK
export AWS_SECRET_ACCESS_KEY=申请的SK
4. 生成证书

-d 参数可以是 *.songsong.me 泛域名或者 doc.songsong.me 单域名,亦支持多个域名串联

acme.sh --register-account -m sre@songsong.me
acme.sh --issue --dns dns_aws -d songsong.me -d *.songsong.me

生成的证书和配置均保存于目录:~/.acme.sh/

5. 拷贝证书
mkdir -p /App/nginx/conf/cert
acme.sh --install-cert -d songsong.me \
--key-file       /App/nginx/conf/cert/server.key  \
--fullchain-file /App/nginx/conf/cert/server.crt \
--reloadcmd     "/root/scripts/nginx restart"
6. 清理安全访问密钥变量
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
7. 打开脚本自动更新
acme.sh --upgrade --auto-upgrade