Passwortauthentifizierung mit NGINX einrichten

Erfahren Sie, wie Sie ein einfaches HTTP-Authentifizierungssystem einrichten. Auf diese Weise können Sie bestimmte Verzeichnisse auf Ihrer Website mit einem Passwort schützen. Diese Form des Passwortschutzes ist ein schneller und einfacher Weg, um ein grundlegendes Sicherheitsniveau über die Zugangsberechtigung zu einer Website zu erreichen.

Anforderungen

  • Ein Server unter Linux (Ubuntu 16.04 oder CentOS 7)
  • NGINX installiert und läuft.

Free Cloud Server Trial von IONOS

Jetzt Cloud Server kostenlos testen - Probieren Sie Ihren Cloud Server bei IONOS 30 Tage lang aus!

REST API
Unlimited Traffic
VMware Virtualisierung

Erstellen der Passwort-Datei mit OpenSSH

Auf Ihrem Server wird höchstwahrscheinlich bereits OpenSSH installiert sein. Wenn nicht, können Sie es mit den folgenden Befehlen installieren:

CentOS 7:

sudo yum install openssh openssh-server openssh-clients openssl-libs

Ubuntu 16.04:

sudo apt-get install openssh-server

Verwenden Sie den folgenden Befehl, um eine Datei namens.htpasswd im Verzeichnis /etc/nginx zu erstellen:

sudo sh -c "echo -n '[username]:' >> /etc/nginx/.htpasswd"

Um beispielsweise den Benutzer jdoe hinzuzufügen, lautet der Befehl:

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

Fügen Sie dann mit dem Befehl ein Passwort für diesen Benutzer hinzu:

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

Sie werden aufgefordert, das Passwort zweimal einzugeben, um es zu bestätigen.

Domain-Umzug zu IONOS

Ihr Domain-Umzug zu Europas größtem Anbieter von Webhosting und Domains gelingt in 3 einfachen Schritten.

Ziehen Sie mit Ihrer Domain zu IONOS um!

Einfach
Schnell
Kostenlos

Einrichten der Passwortauthentifizierung in NGINX

Der nächste Schritt ist das Hinzufügen der Kennwortauthentifizierungsanweisungen zur NGINX-Konfigurationsdatei für die Domain, in der Sie Joomla installieren.

Die Konfigurationsdatei der Domain befindet sich bei CentOS7 in /etc/nginx/conf.d und bei Ubuntu 16.04 in /etc/nginx/sites- .

Diese Datei bearbeiten:

CentOS 7:

sudo nano /etc/nginx/conf.d/example.com.conf

Ubuntu 16.04:

sudo nano /etc/nginx/sites-available/example.com.conf

Fügen Sie folgende Zeilen zu dieser Datei hinzu:

    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
Hinweis

Diese beiden Direktiven stellen eine grundlegende Passwort-Beschränkung für das angegebene Verzeichnis dar. NGINX bietet viele Möglichkeiten, den Passwortschutz für verschiedene Dateien und Verzeichnisse einzurichten, einschließlich der Möglichkeit, nach Dateityp zu filtern. Wenn Sie ein komplizierteres System für den Passwortschutz einrichten möchten, lesen Sie die offizielle NGINX-Dokumentation für weitere Details.

Um die gesamte NGINX-Location zu schützen, fügen Sie die Anweisungen in den bestehenden Location Command Block ein. Wenn kein Location Command Block vorhanden ist, fügen Sie einen hinzu:

location / {
    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Wenn Sie ein Unterverzeichnis mit einem Passwort schützen möchten, geben Sie stattdessen dieses Verzeichnis an:

location /admin {
    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Achten Sie darauf, dass Sie diesen Location Block innerhalb des Server-Block hinzufügen. Zum Beispiel, wenn Ihre Konfigurationsdatei so aussieht:

server {
    listen       80;
    server_name  example.com;
    root /usr/share/nginx/example.com/html/;
    index index.php index.html index.htm;
}

Nachdem Sie den neuen Abschnitt hinzugefügt haben, sieht er so aus:

server {
    listen       80;
    server_name  example.com;
    root /usr/share/nginx/example.com/html/;
    index index.php index.html index.htm;

location / {
    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
  }

}

Speichern und beenden Sie die Datei und starten Sie NGINX neu:

sudo nginx -s reload

Um die Konfiguration zu testen, besuchen Sie die URL in einem Browser. Wenn die Konfiguration korrekt eingerichtet ist, wird eine Popup-Meldung angezeigt, in der Sie aufgefordert werden, den Benutzernamen und das Passwort einzugeben.

SSL-Zertifikate von IONOS!

Wahren Sie dank SSL-Zertifikaten die Geheimhaltung Ihres Online-Verkehrs und stärken Sie das Vertrauen Ihrer Kunden in die Sicherheit Ihrer Webseite.

Geprüfte Sicherheit
Bis zu 256-bit Verschlüsselung
Einfache Aktivierung
SSL-Check

Halt! Wir haben noch etwas für Sie!

Eigene E-Mail-Adresse
schon ab 1,- €/Mon.
Professionell: 100% werbefrei
Firmen- oder Private E-Mail-Adresse inkl. Domain
E-Mail-Weiterleitung, Spam- und Virenschutz