acme+nginx证书申请
acme.sh 网站申请证书(nginx)
1️⃣安装 nginx(省略)
2️⃣安装 acme
1 | curl https://get.acme.sh | sh -s email=zhaoolee@gmail.com |
❗ 申请证书的域名在申请之前要部署(这样不用进行 dns 验证),不然下面申请证书就不能成功
3️⃣网站申请证书
1 | acme.sh --issue -d alist.zorange.online --nginx /usr/local/nginx/conf/nginx.conf |
--nginx /usr/local/nginx/conf/nginx.conf是你的 nginx.conf 路径
alist.zorange.online 是要申请的网站的域名

4️⃣拷贝证书
1 | acme.sh --install-cert -d alist.zorange.online \ |

更新证书
1 | acme.sh --renew -d docker.zorange.online --force |
5️⃣nginx 设置
1 | ssl_certificate "/etc/nginx/ssl/hk.v2fy.com/fullchain.cer"; |
自动更新脚本
如果你有多个证书要更新,可以将所有更新证书的命令放入一个脚本中,并使用acme.sh来自动更新所有这些证书。你只需确保acme.sh已经正确配置,并且你的脚本包含所有需要更新的证书。
- 创建一个脚本来安装多个证书:
首先,创建一个脚本文件,例如/usr/local/bin/install_all_certs.sh,并将所有acme.sh --install-cert命令放入该文件中:
1 |
|
确保脚本是可执行的:
1 | chmod +x /usr/local/bin/install_all_certs.sh |
- 设置一个 cron 任务来自动运行脚本:
编辑 cron 任务:
1 | sudo crontab -e |
然后添加以下行,这将每天午夜运行你的脚本:
1 | 0 0 * * * /usr/local/bin/install_all_certs.sh |
这样,每天午夜acme.sh将检查并更新所有列出的证书,然后使用service nginx force-reload命令重新加载 Nginx,以应用新的证书。
- 确保 acme.sh 自动更新证书:
确保你的acme.sh配置正确,以便它能在证书快到期时自动更新。你可以通过运行以下命令来检查acme.sh的更新任务:
1 | acme.sh --cron --home /path/to/.acme.sh |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Orange's_Blog!
评论
