acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

acme.sh

前期准备

阿里云

访问控制 -> 用户管理 -> 新建用户

输入用户名并勾选 为该用户自动生成AccessKey

复制保存好 AccessKey

创建用户成功后授权该用户相关权限,点击授权,搜索 DNSAliyunDNSFullAccess 移动到右边后点击确定。

部署

脚本安装

登录服务器,输入以下命令安装 acme 脚本

wget -O -  https://get.acme.sh | sh

配置 DNS API

cd ~/.acme.sh
vim account.conf

输入从阿里云获取的 AccessKey 内容

export Ali_Key="xxxxxxxxxx"
export Ali_Secret="xxxxxxxxxx"

申请证书

acme.sh --issue --dns dns_ali -d busyhe.cn -d *.busyhe.cn

自动部署

acme.sh --installcert -d busyhe.cn \
--key-file /etc/pki/nginx/key.pem \
--fullchain-file /etc/pki/nginx/cert.pem \
--reloadcmd "service nginx force-reload"

nginx配置

ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;