Diese Anleitung zeigt euch, wie ihr mit Nginx einen Passwortschutz / htaccess für eure gesamte Webseite bzw. für einzelne Unterseiten einrichten könnt.

1. htpasswd erzeugen

Am einfachsten könnt ihr die Datei mit Boardmitteln erzeugen. Dazu gebt ihr folgendes in die Konsole ein.

sh -c "echo -n 'Benutzer:' >> /etc/nginx/.htpasswd"

"Benutzer:" ist der Name. Kann frei gewählt werden. Der Doppelpunkt danach muss eingetragen werden !!

/etc/nginx/.htpasswd ist der Speicherort der Datei. Kann frei gewählt werden.

Nun lässt ihr euch zu eurem Benutzer ein Passwort in die Datei schreiben.

sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

Im Dialog werdet ihr nun nach eurem Passwort gefragt.

Nun könnt ihr euch eure „.htpasswd“ Datei anzeigen lassen und schauen, wie sie aussieht.

cat /etc/nginx/.htpasswd

Bei mir sieht dies so aus.

ht_0

 

2. Nginx Konfiguration anpassen

Nun öffnet ihr die Nginx Konfiguration.

nano /etc/nginx/sites-enabled/default

Darin solltet ihr sowas ähnliches sehen.

ht_1

Nun habt ihr 2 Möglichkeiten. Ihr könnt eure komplette Webseite mit einem Passwort schützen oder nur einen Teilbereich.

2.1 Komplette Webseite schützen

Dazu schreibt ihr folgende Befehle in die Konfiguration.

#Schützt eure direkte Domain
location = / {auth_basic "Privater Bereich";
              auth_basic_user_file /etc/nginx/.htpasswd;
}

#Schützt alle Subdomains
location / {  auth_basic "Privater Bereich";
              auth_basic_user_file /etc/nginx/.htpasswd;
}

2.2 Einzelne Webseite schützen

Dazu fügt ihr folgendes in die Konfiguration ein. Dieser Code schützt NUR die Unterseite „munin“. Kann in jede andere Seite abgeändert werden.

#Schützt NUR die Unterseite "munin"
location /munin {auth_basic "Privater Bereich";
                 auth_basic_user_file /etc/nginx/.htpasswd;
}

 

Zum Schluss müsst ihr bei Nginx noch einen Reload durchführen.

service nginx reload

Nun solltet ihr folgendes auf eurer Homepage sehen:

ht_2

Teile diesen Beitrag
Christian

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.