Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

In einigen Fällen ist es sinnvoll, den Zugriff auf vestimmte Verzeichnisse einer Website nur für bestimmte Nutzer zu erlauben. Die einfachste Möglichkeit für einen Passwortschutz ist die sog. HTTP Base Auth. Dabei wird dem Benutzer beim besuch einer bestimmten URL vom Browser ein Eingabefenster für Benutzername und Passwort angezeigt. Stimmen die Daten überein bzw sind im System vorhanden, wird der Zugriff ermöglicht – ansonsten wird er abgewiesen.

Die Benutzer-Passwort Kombinationen werden in eine externe Datei geschrieben und mit dem Tool „htpasswd“ generiert. Für Ubuntu Server muss dazu vorher das Paket „apache2-utils“ installiert werden:

sudo apt-get install apache2-utils

(Ja, das Paket ist für Apache gedacht, funktioniert aber auch im Zusammenspiel mit Nginx ;) )

mit htpasswd wird jetzt der Zugang für Benutzer „user1“ erstellt und in die Zugangsberechtigungsdatei unter /etc/nginx/geheim.htpasswd geschrieben:

sudo htpasswd -c /etc/nginx/geheim.htpasswd user1

Danach wird das gewünschte Passwort für diesen Benutzer 2x eingegeben. Mit jedem weiteren Benutzer wird genauso verfahren.

Schließlich muss die Nginx-Konfiguration noch angepasst werden, damit eine Passwortabfrage ausgeführt wird:

server {
    server_name server.tld;
    
    listen 80 default_server;
    listen [::]:80 default_server;
    
    root /var/www;
    
    location /geheim {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/geheim.htpasswd;
    }
}

Der Webserver wird nach der Konfigurationsänderung neu gestartet und beim nächsten Zugriff werden Benutzername und Passwort abgefragt.

 


Post published on 7. Juni 2015 | Last updated on 7. Juni 2015
Tags:           

Diesen Blog unterstützen

Wenn Dir der Beitrag gefallen hat, freue ich mich über einen kleinen Obolus :-) Bitcoin QR Code

PayPal-Seite: https://www.paypal.me/ThomasLeister
Meine Bitcoin-Adresse: 15z8 QkNi dHsx q9WW d8nx W9XU hsdf Qe5B 4s

Siehe auch: Unterstützung

Informationen zum Autor

Thomas Leister

Geb. 1995, Kurzhaar-Metaller, Geek und Blogger. Nutzt seit Anfang 2013 ausschließlich Linux auf Desktop und Servern. Student der Automobilinformatik an der Hochschule für angewandte Wissenschaften in Landshut.

2 thoughts on “Nginx: Passwortschutz für Unterverzeichnis

  • Unbedingt dazu erwähnt werden sollte, dass bei HTTP Benutzername und Passwort unverschlüsselt übertragen werden. Böswillige Schnüffler an der Leitung können diese ganz einfach auslesen. Zugangsdaten sollten (genauso wie Adresse und Bankverbindung bei einer Bestellung) über HTTPS übertragen werden.

  • Danke für den Beitrag hat mir sehr geholfen ;-)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.