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!
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
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!
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
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:
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.