如何使用 Acme.sh 自动更新 Nginx 网站证书
温馨提示
本文由用户 biebiele 撰写,并已加入 VPS.Town 优秀原创文章激励计划,未经允许不得转载。
本文已通过 VPS.Town 社区文章投稿及奖励规则 (试行稿) 审核,并获得 -- 奖励。
📖 本文目录
介绍
Acme.sh 是一个纯粹用 Shell(Unix shell)语言编写的 ACME 协议客户端。可自动帮您申请 SSL 证书并自动更新。
1. acme.sh 安装
bash
小贴士
安装完成后,程序安装在/root/.acme.sh/下,且可在任何地方使用acme.sh命令

2. 使用 CloudFlare DNS api 验证
2.1. 添加您的域名到 CloudFlare
-
账户主页-添加域:按照页面指示添加您的个人域名
-
选择计划:选择下方的free计划,点击继续
-
dns记录:会自动导入已有的 dns 记录,检查没什么问题,点击继续
-
更新名称服务器:根据指引,在您域名之前网站,修改 ns 记录。主要删除原来的 dns 锁定和删除并添加新的 ns 记录
-
验证:修改完成后,检查添加状态是否正常,如不正常,可手动最下方立即检查或手动检查添加过程是否正确
2.2. 创建 API 令牌

- 点击创建令牌

- 选择使用模版
编辑区域dns
- 权限配置

- 确定创建令牌

- 复制生成的 token 值

2.3. 区域 ID 和账户 ID

2.4. 申请 SSL 域名证书
- 配置以上环境变量后,手动执行申请
小贴士
设置和使用的任何环境变量都将保存在 ~/.acme.sh/account.conf
检查脚本执行日志,是否获取证书正常,提示证书文件保存在何地

- 后续定期更新,是由计划任务 cron 里的定期检查和自动更新

3. nginx 等程序配置 ssl
在nginx.conf配置文件,添加 ssl 相关配置并重启服务,浏览器检查 https 访问是否正常。以下供参考:

