写在前面:#
acme.sh有官方的中文说明:说明 · acmesh-official/acme.sh Wiki (github.com)
要求:#
有脑子
Linux系统
能上网
你的域名托管在CloudFlare
正式开始#
acme.sh是一个适用于Linux的shell脚本,用于免费为你颁发你域名的泛域名证书。本文使用CloudFlare验证(其实acme.sh官网写得很详细了,其他方法请前往acme.sh自取)
如果你在中国大陆:
git clone https://gitee.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install -m [email protected]
如果你在非中国大陆:curl https://get.acme.sh | sh -s [email protected]
前往CloudFlare API令牌获取你的Global API Key(需要输入你的CloudFlare账号的密码),它通常为一串数字加字母的组合,如:
763eac4f1bcebd8b5c95e9fc50d010b4
将CloudFlare Global API Key写入全局变量:
export CF_Key="763eac4f1bcebd8b5c95e9fc50d010b4"
将CloudFlare绑定邮箱写入全局变量:
export CF_Email="[email protected]"
开始颁发证书:
./acme.sh --issue --dns dns_cf -d example.com -d '*.example.com'
颁发的证书会自动续期,可使用
crontab -l
查看计划任务。证书文件在你的用户根目录的.acme.sh
文件夹内的域名文件夹。文件路径如/root/.acme.sh/example.com
。其中.cer
是证书文件(公钥),.key
是密钥文件(私钥)
故障排除:#
Q:我在写入全局变量时输入错误导致证书颁发失败怎么办?
A:前往你的用户根目录的.acme.sh
文件夹更改account.conf
文件内的相关内容。文件路径如:/root/.acme.sh/account.conf