Warum erhält certbot (letsencrypt) ein verbotenes 403?

934
Rhys

Versuch, Zertifikate für meine Domain auf einem Nginx-Webserver zu erstellen. Wenn certbot ausgeführt wird, gibt es einen nicht autorisierten Fehler 403, da die Datei aus irgendeinem Grund nicht in der Domäne angezeigt werden kann. Wenn ich jedoch die Datei repliziere, kann ich sie von meiner Domäne aus anzeigen.

Der Befehl wurde ausgeführt

certbot certonly --webroot -w /var/www/html/example.com/website/ -d www.example.com -d example.com 

Der Fehler erhalten

Saving debug log to /var/log/letsencrypt/letsencrypt.log Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org Obtaining a new certificate Performing the following challenges: http-01 challenge for www.example.com http-01 challenge for example.com Using the webroot path /var/www/html/example/website for all unmatched domains. Waiting for verification... Cleaning up challenges Failed authorization procedure. www.example.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.example.com/.well-known/acme-challenge/lBNrwYPRz_0iFkXPGG2jfixRecA7VMMDOmYst_qzXCI: "<html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>" 

Ich verstehe, dass NGINX für einige Dinge Standortblöcke benötigt, aber wenn ich diese Dateien neu erstelle, kann ich darauf zugreifen. (Die Datei wird automatisch heruntergeladen?)

www.example.com/.well-known/acme-challenge/lBNrwYPRz_0iFkXPGG2jfixRecA7VMMDOmYst_qzXCI

Hier ist meine grundlegende NGINX-Konfiguration.

server {  listen 80; listen [::]:80;  server_name www.example.com example.com 167.0.0.0; root /var/www/html/example/website; index index.html index.php index;  location /forums { root /var/www/html/example; }   } 
1
Können Sie bitte die entsprechenden Zeilen aus der Datei angeben: `/ var / log / nginx / error.log` (ggf. vertrauliche Informationen korrigieren) the_velour_fog vor 6 Jahren 0
was auch, wenn Sie --webroot-path` anstelle von -w vielleicht verwenden? auch certbot hat nicht den Schrägstrich am Ende des Webroot-Pfads - so wie Sie den Schrägstrich in nginx nicht haben können, so auch `--webroot-path / var / www / html / example.com / website ' the_velour_fog vor 6 Jahren 0
Vielen Dank. Entfernen Sie den Schrägstrich am Ende des Verzeichnisses mit -w. Ich weiß nicht warum, da die Dokumente ein / am Ende zeigen. https://certbot.eff.org/docs/using.html#certbot-commands können Sie die Antwort posten Rhys vor 6 Jahren 0

0 Antworten auf die Frage