Derzeit kann ich erfolgreich ein Let's Encrypt SSL-Zertifikat installieren, indem Sie die folgende Zeile in meiner nginx Konfiguration verlassen:nginx Konfiguration für grundlegende Auth, die ermöglicht läßt Verschlüsselungs- Auto erneuert
location/{
try_files $uri $uri/ /index.php?$query_string;
}
Ich mag würde grundlegende auth aktiviert auf meiner Website. Das folgende funktioniert gut, um dies zu tun:
location/{
try_files $uri $uri/ /index.php?$query_string;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Allerdings muss das Let's Encrypt SSL-Zertifikat jeden Monat erneuern. Ich kann diese Erneuerung mit Curl automatisieren. Allerdings hat Lassen Sie uns Encrypt einen Rückruf auf einer Route, die eine Route mit dem Präfix enthält:
/.well-known/acme-challenge/
aber jetzt brauche ich eine Ausnahme für die obige Route Präfix hinzuzufügen:
location ^~ /.well-known/acme-challenge/ {
auth_basic off;
}
ich versucht habe, viele Variationen der obigen, aber keine scheint zu funktionieren. Ich kann das Let's Encrypt SSL-Zertifikat nicht mit der obigen Konfiguration installieren. Ich habe sogar festgestellt, dass, wenn ich den Grund Auth starten (durch die beiden Zeilen löschen, die mit AUTH_BASIC beginnen), die Encrypt SSL-Zertifikat Lassen Sie sich nicht installieren, wenn alles, was ich habe die unten:
location ^~ /.well-known/acme-challenge/ {
try_files $uri $uri/ /index.php?$query_string;
}
location/{
try_files $uri $uri/ /index.php?$query_string;
}
Ich würde schätzen, Vorschläge, damit die Callback-Route ausgeführt wird, während Basic Auth aktiviert ist. Ich wäre auch daran interessiert zu erfahren, warum ich Let's Encrypt nicht mit der Config wie oben gezeigt installieren kann, wo Basic Auth nicht einmal aktiviert ist. Danke im Voraus.
Zusätzliche Fehlerprotokolle:
/var/log/nginx# cat cert.dev.farm-error.log.1
2016/03/18 13:12:26 [error] 12336#12336: *1 open() "/home/forge/cert.dev.farm/public/.well-known/acme-challenge/jGhldzH8cV3d666a44nRy-Gzf98m1u2qUbkWnNv0aMI" failed (2: No such file or directory), client: 66.133.109.36, server: cert.dev.farm, request: "GET /.well-known/acme-challenge/jGhldzH8cV3d666a44nRy-Gzf98m1u2qUbkWnNv0aMI HTTP/1.1", host: "cert.dev.farm"
2016/03/18 13:17:09 [error] 13202#13202: *1 open() "/home/forge/cert.dev.farm/.well-known/acme-challenge/k9jsDB_mkvU5UzvL-B7hd3iA90ZTq61OaDNixoeRQuQ" failed (2: No such file or directory), client: 66.133.109.36, server: cert.dev.farm, request: "GET /.well-known/acme-challenge/k9jsDB_mkvU5UzvL-B7hd3iA90ZTq61OaDNixoeRQuQ HTTP/1.1", host: "cert.dev.farm"
2016/03/18 13:17:09 [error] 13202#13202: *1 FastCGI sent in stderr: "Unable to open primary script: /home/forge/cert.dev.farm/index.php (No such file or directory)" while reading response header from upstream, client: 66.133.109.36, server: cert.dev.farm, request: "GET /.well-known/acme-challenge/k9jsDB_mkvU5UzvL-B7hd3iA90ZTq61OaDNixoeRQuQ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "cert.dev.farm"
2016/03/18 13:23:48 [error] 14522#14522: *1 open() "/home/forge/cert.dev.farm/public/.well-known/acme-challenge/5ZBXFn23tOUPcQFNrI3DqUE-l9x3rmdiOkYwabDl-jk" failed (2: No such file or directory), client: 66.133.109.36, server: cert.dev.farm, request: "GET /.well-known/acme-challenge/5ZBXFn23tOUPcQFNrI3DqUE-l9x3rmdiOkYwabDl-jk HTTP/1.1", host: "cert.dev.farm"
Was ist Ihr nginx Wurzelpfad, sind Sie, dass im Fehlerprotokoll zu sehen, und tut das Spiel die Webroot Sie letsencrypt weitergegeben? – Kyle
@ kyl191 Ich habe einige weitere Fehlerprotokolle oben hinzugefügt. Lassen Sie mich wissen, ob Sie danach suchen oder nicht. Der Stammpfad ist/home/Schmiede - Ich denke, das Problem ist einfach ich die unten zwicken müssen: Lage^~ /.well-known/acme-challenge/ { AUTH_BASIC aus; } Ich frage mich, ob das unten ist besser? Standort /.well-known/ { auth_basic aus; Index nothing_will_match; Autoindex an; } – user3089840