Nginx

讓我們加密自動更新安靜模式錯誤

  • December 3, 2020

我已經安裝了讓我們使用帶有 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,而不是啟動它的開放式網路伺服器。

certbot renew --quiet --nginx

要麼

certbot renew --quiet --webroot --webroot-path /var/www/html

不要忘記--deploy-hook在成功續訂後也使用該參數重新載入您的 nginx。

注意:如果您尚未安裝 nginx 外掛,則必須使用以下命令安裝它。

yum install python-certbot-nginx

引用自:https://serverfault.com/questions/1044760