Quantcast
Channel: apache – Willy's Technik-Blog
Viewing all articles
Browse latest Browse all 15

.htaccess in Nginx einrichten

$
0
0

Die Konfiguration von .htaccess in Nginx bietet einen sicheren Zugriffsschutz auf einem Webserver. Die Konfiguration unterscheidet sich dabei gegenüber der auf Apache.

htpasswd erstellen

Voraussetzung für die Nutzung von .htaccess ist eine htpasswd-Datei. In dieser sind Benutzername und Kennwort gespeichert. Mit den apache2-utils kann eine solche Datei erzeugt werden.

sudo apt-get update
sudo apt-get install apache2-utils

Nun steht das Kommando htpasswd bereit und es kann eine versteckte .htpasswd Datei in /etc/nginx erstellt werden (Nginx Konfigurations-Verzeichnis). Sofern die Datei noch nicht besteht, muss -c dem Kommando hinzugefügt werden.

sudo htpasswd -c /etc/nginx/.htpasswd paul

Dabei steht paul für den Benutzernamen. Nach dem Kennwort wird nach Ausführung des Befehls gefragt.

root@pi:~# htpasswd -c /etc/nginx/.htpasswd paul
New password:
Re-type new password:
Adding password for user paul

Neue Benutzer können mit

sudo htpasswd /etc/nginx/.htpasswd neuerbenutzer

hinzugefügt werden. Der Inhalt der erzeugten htpasswd-Datei kann mitcat /etc/nginx/.htpasswdbetrachtet werden.

root@pi:~# cat /etc/nginx/.htpasswd
paul:$apr1$EB6mT5VV$DW.DLyQK/zIizfP7n3Lds.
neuerbenutzer:$apr1$wwlu7qpV$GOFHSsXtsBTONgoBylKlq1

Konfiguration in Nginx

Die Konfiguration in Nginx selbst wird in der /etc/nginx/sites-available/default Datei gemacht.

nano /etc/nginx/sites-available/default

Hier ein Ausschnitt aus der Konfiguration. Wichtig sind dabei die markierten Zeilen. Zuständig für die .htaccess Funktion ist dabei die auth_basic Anweisung.

server {
        listen 80; # hört auf Port 80 / HTTP Verkehr
        root /usr/share/nginx/html; # Web-Stammverzeichnis mit HTML und PHP-Dateien
        index index.html index.htm index.php;
        server_name domain.de; # Domain für diese Server-Anweisung

        location / {
                try_files $uri $uri/ =404;
                auth_basic "Restricted"; # Ausgabe-Meldung bei Zugriff
                auth_basic_user_file /etc/nginx/.htpasswd; # Pfad zur .htpasswd-Datei
        }
        location ~ /\.ht {
                deny all; # Verweigert Zugriff auf die .ht-Dateien
        }
}

Abschließend muss die Konfiguration von Nginx neu geladen werden. Erst dann werden die Änderungen wirksam.

/etc/init.d/nginx reload

.htaccess Ergebnis

Wird nun versucht auf das Webverzeichnis zuzugreifen, kommt die Authentifzierung über .htaccess in Nginx.

.htaccess Abfrage in Nginx

.htaccess Abfrage in Nginx

Schlägt die Authentifizierung fehl, wird der Zugriff verweigert. Ist die Anmeldung erfolgreich, wird der Zugriff auf die Seite gewährt.

Nginx: Authorization Required

Nginx: Authorization Required

Der Beitrag .htaccess in Nginx einrichten erschien auf Willy's Technik-Blog.


Viewing all articles
Browse latest Browse all 15

Latest Images

Trending Articles