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 my@example.com
如果你在非中国大陆:
curl https://get.acme.sh | sh -s email=my@example.com
- 前往CloudFlare API令牌获取你的Global API Key(需要输入你的CloudFlare账号的密码),它通常为一串数字加字母的组合,如:763eac4f1bcebd8b5c95e9fc50d010b4
- 将CloudFlare Global API Key写入全局变量:
export CF_Key="763eac4f1bcebd8b5c95e9fc50d010b4"
- 将CloudFlare绑定邮箱写入全局变量:
export CF_Email="alice@example.com"
- 开始颁发证书:
./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
本文作者为祝兜兜,转载请注明。