Ubuntu
無法使用 nginx (certbot) 向域添加讓我們加密 ssl 證書
我在使用 nginx 和 certbot 將 Let’s Encrypt SSL 證書應用到我的域時遇到問題。我的(Nuxtjs)網站在 Ubuntu 18.04 的 VPS 上執行。我想將證書添加到 mydomain.nl 和 staging.mydomain.nl 但無法。我對此很陌生,但我之前確實設法做到了這一點,沒有任何問題。
如果我是正確的,certbot 會在執行時嘗試放置一個文件來驗證域
sudo certbot --nginx
。但後來我收到以下錯誤:Failed authorization procedure. mydomain.nl (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://mydomain.nl/.well-known/acme-challenge/PBjT0nQy7m5_bE42I1jr5mMaYxLMma4ONP9FAUgCD3c [2a02:2268:ffff:ffff::4]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"
IMPORTANT NOTES: - The following errors were reported by the server: Domain: mydomain.nl Type: unauthorized Detail: Invalid response from http://mydomain.nl/.well-known/acme-challenge/PBjT0nQy7m5_bE42I1jr5mMaYxLMma4ONP9FAUgCD3c [2a02:2268:ffff:ffff::4]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p" To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.
我也嘗試在配置中添加這個塊:
location ~ /.well-know/acme-challenge { allow all; root /var/www/mydomain.nl/html; }
但是沒有成功。。
我可以在我的域上訪問我的網站,因此 DNS 應該是正確的。
根據要求,當我執行時,
ls -ld /var/www/mydomain.nl/html
我得到以下輸出:drwxrwxr-x 10 kim kim 4096 May 13 20:38 /var/www/mydomain.nl/html
Nginx 使用者是
www-data
?有人可以在這裡指出我正確的方向嗎?任何幫助將非常感激!
提前致謝!
原來我的域名註冊商為我的域名預先配置了 AAAA 記錄。我必須刪除這條記錄才能正常工作。感謝您的思考!
發生這種情況是因為 Certbot 驗證網站域是否線上。如果這收到帶有 404 程式碼的 http 響應,您將無法驗證它是否存在並且不會生成證書。
你可以試試單機模式。
certbot certonly –standalone –preferred-challenges http -d example.com –webroot-path /path/to/root