Nach dem Zugriff auf ein kennwortgeschütztes Verzeichnis wird ein Verbot von 403 angezeigt

5831
Gabriel A. Zorrilla

Ich verwende nginx und wenn ein Passwort ein Verzeichnis schützt und Login-Details eingibt, bin ich 403'ed (: O)

 Standort ~ ^ / Dokumente { auth_basic "Zugriff eingeschränkt."; #Old line. # auth_basic_user_file / private / pass; #Neue Zeile. auth_basic_user_file /var/www/site.com/private/pass; } 

Datei übergeben ist wie

thisID: thisPass: Hallo Kommentar!

Irgendein Tipp?

1
Was zeigt das Fehlerprotokoll? Dave Drager vor 14 Jahren 0
2009/09/02 17:25:20 [error] 6471 # 0: * 1 open () "/var/www/site.com/private/pass" ist fehlgeschlagen (2: Keine solche Datei oder ein solches Verzeichnis), Client: 64.76 .31.155, Server: www.site.com, Anfrage: "GET / documents / HTTP / 1.1", Host: "www.site.com" Der Dateipass ist da! Fack! Gabriel A. Zorrilla vor 14 Jahren 0

3 Antworten auf die Frage

1
Arjan

Obwohl es nicht zu Ihnen Fehler passt, erhalten Sie ...

Datei übergeben ist wie

thisID: thisPass: Hallo Kommentar!

Wird davon ausgegangen, dass das Passwort tatsächlich verschlüsselt ist? Ich denke es sollte sein; Ich bezweifle, dass Sie einfach ein von Menschen lesbares Kennwort in diese Kennwortdatei einfügen können.

Wenn nginx in dieser Datei verschlüsselte / verschlüsselte Kennwörter erwartet, findet es keine gute Übereinstimmung, wenn das gespeicherte Kennwort ein anderes Format verwendet. (Um eine Übereinstimmung zu finden, wird das vom Benutzer eingegebene Kennwort verschlüsselt, und die verschlüsselte Eingabe wird mit dem verschlüsselten Kennwort verglichen, wie dies aus der Datei bekannt ist.) Gemäß der Dokumentation müssen Kennwörter in der Tat durch die Funktion crypt verschlüsselt werden ( 3). Sie können die Kennwortdatei mit dem Programm htpasswd in Apache erstellen.

Dies erklärt zwar immer noch nicht die eigentliche Fehlermeldung, aber wenn die Kennwortdatei die für Menschen lesbaren Kennwörter enthält, führt dies sicherlich zu einem 402 Unauthorizedoder 403 Forbidden.

Man kann ein solches verschlüsseltes Passwort auch online auf verschiedenen Websites erstellen .

Sie müssen nicht verschlüsselt werden. Gabriel A. Zorrilla vor 14 Jahren 0
Ich nehme an, Sie sagen, dass * nginx * kein verschlüsseltes Passwort benötigt? Oder implizieren Sie, dass Verschlüsselung keine Voraussetzung für Sie ist *? (Wenn nginx in dieser Datei verschlüsselte Kennwörter erwartet, wird es niemals eine gute Übereinstimmung finden, wenn das Kennwort nicht verschlüsselt ist. Dies scheint jedoch laut Dokumentation der Fall zu sein. Siehe meine aktualisierte Antwort.) Arjan vor 14 Jahren 1
WORT. In der Tat muss das Passwort verschlüsselt sein, ich habe nur Klartext verwendet, ABER, heh, jetzt kann ich es nicht verschlüsseln. Kennen Sie ein Tool (ohne Apache zu installieren), um das Wort zu verschlüsseln (3)? Ich generiere unter Windows und mit Online-Tools und es funktioniert nicht. "2009/10/13 20:12:42 [error] 4114 # 0: * 5 Benutzer" USER ": Passwort stimmt nicht überein ..." Gabriel A. Zorrilla vor 14 Jahren 0
1
Michelle

Ich habe mit dieser Art von Problemen zu kämpfen, wenn der Computer Ihnen sagt, dass die Datei oder das Verzeichnis nicht vorhanden ist .... es ist nicht da! :-)

Suchen Sie nach der Datei relativ zum Server-Stammverzeichnis, dh

auth_basic_user_file /private/pass; 
True: * Seit Version 0.6.7 ist der Dateinamenpfad relativ zum Verzeichnis der Nginx-Konfigurationsdatei nginx.conf, jedoch nicht zum Nginx-Präfixverzeichnis. * - http://wiki.nginx.org/NginxHttpAuthBasicModule Arjan vor 14 Jahren 0
0
Rushyo

Ich würde mir vorstellen, dass die Speicherorte / Dateipfade nicht wie beabsichtigt übereinstimmen. Sind Sie sicher, dass die Syntax in Bezug auf Dateipfade definitiv korrekt ist?

Hat der Server auch Lesezugriff auf die betreffende Kennwortdatei?

1. Eigentümerwechsel in WWW-Daten: WWW-Daten, kein Glück. 2. Chmoed bis 777, kein Glück. Gabriel A. Zorrilla vor 14 Jahren 0