Let's Encrypt更新失敗 Renew Faield

【 Nginx 】

Let's Encrypt的憑證有效時間為三個月,因此每三個月要做憑證更新,但是在憑證更新時遇到 Attempting to renew cert from..... Could not connect to xxxxxxx.id Skipping. 等問題時要如何解決呢?

技術相關 :Nginx Let's Encrypt 憑證更新


原先在網路上搜尋資料時發現要加入提供ipv6的選項
也就是在你的原有的Nginx Server區段多加入一行,
Server {
listen 80;
listen [::]:80;
}
加入後仍舊出現Attempting...

後來仔細看了一下報錯,有一行是這樣:
http://hostname/.well-known/acme-challenge/pYpAsqefqwNKd8hwb_0VaoPxJVIkVg5_xn-N4
   [11.111.11.11]: 403
這時候我發現了一個問題,也就是關鍵字 well-known/acme-challenge
從這邊看起來顯然是少了什麼東西,以致於無法challenge,
這時候繼續上網搜尋,原來在Nginx中還要加入一段如下:

Server {
listen 80;
listen [::]:80;
location ^~ /.well-known/acme-challenge/ {
      default_type    "text/plain";
      root    /var/www/letsencrypt;
  }
}

唯有加入這段,letsencrypt 才能夠到這個路徑下檢查你有沒有這個網域的所有權,
到這邊就能夠確實更新憑證了。


最後,要注意到的是,我沒有去交叉檢查加入ipv6是不是真的必要的,不過能run就先這樣~