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
Cloud Server kostenlos testen

Dank Startguthaben testen Sie Cloud Server bei IONOS 1 Monat lang kostenlos (oder bis das Guthaben verbraucht ist) und erleben die perfekte Kombination aus Leistung und Sicherheit!

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 umziehen
Ganz einfach zu IONOS wechseln
  • In nur drei einfachen Schritten
  • Inklusive E-Mail-Adresse und SSL-Zertifikat
  • Ohne Umzugskosten

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.

Sichern Sie sich Ihr SSL-Zertifikat
  • Verschlüsselt Webseiten-Kommunikation
  • Verhindert Sicherheits-Warnungen
  • Verbessert Google-Platzierung

SSL-Zertifikat-Checker

SSL-Zertifikat-Checker
War dieser Artikel hilfreich?
Page top