
Ich verwende Nginx und wenn ich ein Verzeichnis mit einem Passwort schütze und die Anmeldedaten eingebe, erhalte ich eine 403-Fehlermeldung (:O)
Ort ~ ^/Dokumente { auth_basic "Zugriff eingeschränkt."; #Alte Linie. # auth_basic_user_file /privat/pass; #Neue Zeile. auth_basic_user_file /var/www/site.com/private/pass; }
Pass-Datei ist wie
thisID:thisPass: Hallo Kommentar!
Irgendein Tipp?
Antwort1
Obwohl es nicht mit Ihnen übereinstimmt, erhalten Sie eine Fehlermeldung ...
Pass-Datei ist wie
thisID:thisPass: Hallo Kommentar!
Geht man davon aus, dass das Passwort tatsächlich verschlüsselt ist? Ich denke, das sollte es sein. Ich bezweifle, dass man in diese Passwortdatei einfach ein für Menschen lesbares Passwort einfügen kann.
Wenn nginx in dieser Datei codierte/verschlüsselte Passwörter erwartet, wird es nie eine gute Übereinstimmung finden, wenn das gespeicherte Passwort ein anderes Format verwendet. (Um eine Übereinstimmung zu finden, wird es das vom Benutzer eingegebene Passwort codieren und diese codierte Eingabe mit dem aus der Datei bekannten codierten Passwort vergleichen.) Und tatsächlich, lautdie Dokumentation,Passwörter müssen mit der Funktion crypt(3) verschlüsselt werden. Die Passwortdatei lässt sich mit dem Programm htpasswd von Apache erstellen.
Dies erklärt zwar noch nicht die eigentliche Fehlermeldung, aber wenn die Kennwortdatei die für Menschen lesbaren Kennwörter enthält, wird dies mit Sicherheit ein 402 Unauthorized
oder ergeben 403 Forbidden
.
Man kann ein solches verschlüsseltes Passwort auch online erstellen, aufverschiedene Webseiten.
Antwort2
Meine Erfahrung mit solchen Problemen ist: Wenn der Computer Ihnen sagt, dass die Datei oder das Verzeichnis nicht da ist, dann ist es auch nicht da! :-)
Suchen Sie nach der Datei relativ zum Serverstamm, d. h.
auth_basic_user_file /private/pass;
Antwort3
Ich könnte mir vorstellen, dass die Speicherorte/Dateipfade nicht wie beabsichtigt übereinstimmen. Sind Sie sicher, dass die Syntax hinsichtlich der Dateipfade definitiv korrekt ist?
Hat der Server außerdem Lesezugriff auf die betreffende Kennwortdatei?