代码仓库地址:<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