使用acme.sh通过cloudflare自动签发免费ssl证书
通过acme.sh和cloudflare实现免费ssl证书自动签发
下载acme.sh
curl https://get.acme.sh | sh -s email=你的邮箱
cd ~/.acme.sh/
获取Cloudflare密钥
- Login in
- Enter “Profile of your account” Page
- Apply “Api Token”
- Select Create Token
- Select “Edit Zone DNS”
- Get and copy “Token”
- Get “Account ID” in OverView Page
配置Acme.sh
导入配置信息
进入 用户目录下的 .acme.sh文件夹下, 如 cd /root/acme.sh
export CF_Token=""
export CF_Account_ID=""
export CF_Zone_ID=""
更换默认证书发行商并签发证书
因默认证书发行服务商需要导入登陆相关秘钥, 所以更换为 letsencrypt
./acme.sh --set-default-ca --server letsencrypt
./acme.sh --issue --dns dns_cf -d 你的域名
修改nginx配置
修改nginx的conf配置文件, 在 server字段里增加证书地址
ssl_certificate /ssl存放地址/fullchain.pem;
ssl_certificate_key /ssl存放地址/cert_file/key.pem;
安装
将指定的证书安装下载到指定文件夹指定文件, 多个域名证书可以写入到单个文件
安装
acme.sh --install-cert -d bytevoyage.site -d *.bytevoyage.site \
--key-file /ssl存放地址/key.pem \
--fullchain-file /ssl存放地址/fullchain.pem \
--reloadcmd "service nginx force-reload"
查看定时任务
安装完毕后会在系统内自动创建定时任务, 到期自动重新签发新的证书
### 查看定时任务
acme.sh --renew -d example.com --force
crontab -l // View created tasks