我已经安装了让我们使用带有 DNS 验证模式的 Nginx 配置进行加密,按照文档中的说明自动更新,我添加了以下条目:
15 3 * * * /usr/bin/certbot renew --quiet
但是,这不起作用,所以我在命令行中运行它以查看发生了什么。我收到以下错误,我知道 Nginx 正在使用端口 80/443,当我手动更新它时我必须停止它,我想知道如何在 AUTO RENEW 模式下设置它,即在此之前添加停止 Nginx cronjob 并在它之后重新启动?但是在 cronjob 上执行此操作有点太危险了,就好像 Nginx 失败会造成很多停机时间一样。
[centos]# /usr/bin/certbot renew --quiet
Attempting to renew cert (example.com) from /etc/letsencrypt/renewal/example.com.conf produced an
unexpected error:
Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/example.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)
任何想法?
--nginx
使用or参数运行 certbot--webroot
,如文档所述,让它使用您正在运行的 nginx,而不是启动它的开放式网络服务器。或者
不要忘记
--deploy-hook
在成功续订后也使用该参数重新加载您的 nginx。注意:如果您尚未安装 nginx 插件,则必须使用以下命令安装它。