Funktioniert nginx auth_basic über HTTPS?

Funktioniert nginx auth_basic über HTTPS?

Ich habe versucht, auf einer SSL-Website ein kennwortgeschütztes Verzeichnis wie folgt einzurichten:

/etc/nginx/sites-available/default

server {
    listen 443:
    ssl on;
    ssl_certificate /usr/certs/server.crt;
    ssl_certificate_key /usr/certs/server.key;

    server_name server1.example.com;

    root /var/www/example.com/htdocs/;
    index index.html;

    location /secure/ {
        auth_basic "Restricted";
        auth_basic_user_file /var/www/example.com/.htpasswd;
    }
}

Das Problem besteht darin, dass beim Versuch, auf die URL zuzugreifen https://server1.example.com/secure/, die Fehlerseite „404: Nicht gefunden“ angezeigt wird.

In meinem error.log wird der folgende Fehler angezeigt:

011/11/26 03:09:06 [error] 10913#0: *1 no user/password was provided for basic authentication,
client: 192.168.0.24, server: server1.example.com, request: "GET /secure/ HTTP/1.1",
host: "server1.example.com"

Ich konnte jedoch problemlos kennwortgeschützte Verzeichnisse für einen normalen virtuellen HTTP-Host einrichten.

Liegt es an der Konfiguration oder an etwas anderem?

Antwort1

Möglicherweise handelt es sich um ein Pfadproblem für auth_basic_user_file, wobei Ihr absoluter Pfad nginx verwirrt:

http://wiki.nginx.org/HttpAuthBasicModule#auth_basic_user_file

Seit Version 0.6.7 ist der Dateipfad relativ zum Verzeichnis der Nginx-Konfigurationsdatei nginx.conf, aber nicht zum Nginx-Präfixverzeichnis.

Ich bin nicht sicher, wie es in den anderen Fällen funktioniert. Das Zitat aus der Dokumentation legt nahe, dass Sie etwas wie Folgendes haben müssen:

auth_basic_user_file htpasswd/www.example.com

wo Sie die Kennwortdatei als „/etc/nginx/htpasswd/www.example.com“ hätten, wenn Sie „/etc/nginx/nginx.conf“ als Ihre Serverkonfigurationsdatei haben.

Sie können die Nginx-Konfiguration überprüfen, indem Sie „sudo nginx -t“ ausführen. Wenn ein Konfigurationsfehler vorliegt, d. h. die Authentifizierungsdatei nicht dort ist, wo sie erwartet wird, sollten Sie an dieser Stelle darüber informiert werden.

verwandte Informationen