Nginx ist ein kostenloser Open-Source-Webserver, der für Lastverteilung, Pufferung und Caching. Seit seiner Einführung im Jahr 2004 hat Nginx an Beliebtheit für die Skalierung von Webservern und das Reverse-Proxying gewonnen. Aufgrund seiner hohen Leistung und seiner hervorragenden Fähigkeiten zur Bewältigung einer großen Anzahl von Verbindungen wird er zur Verwaltung und Steuerung des eingehenden Datenverkehrs eingesetzt.
Wie funktioniert die HTTP-Authentifizierung?
Bei der Basis-HTTP-Authentifizierung sind alle Routen auf dem Server blockiert und erfordern die entsprechenden Anmeldedaten zur Authentifizierung. Wann immer ein Benutzer versucht, auf eine geschützte Ressource zuzugreifen, sendet der Server dem Benutzer einen WWW-Authenticate-Header und eine 401 Unauthorized-Antwort. Wenn der vom Benutzer verwendete Benutzername und das Passwort korrekt sind und mit der Schlüsseldatei übereinstimmen, wird die Verbindung hergestellt, andernfalls wird sie verweigert.
In dieser Anleitung führen wir Sie durch die Schritte zur Einrichtung der Basis-HTTP-Authentifizierung mit Nginx auf Ubuntu 20.04.
Voraussetzungen
Um dieser Anleitung zu folgen, benötigen Sie Folgendes:
- Die neueste Version von installiertem Ubuntu auf Ihrem System.
- Systembenutzer müssen über sudo-Rechte verfügen.
- Nginx installiert und konfiguriert auf Ihrem Server.
Schritt 1: Software-Repositories aktualisieren
Bevor Sie neue Software oder ein API-Paket auf Ihrem System installieren, aktualisieren Sie die Repositories, um Fehler oder Paketkonflikte zu vermeiden. Zunächst aktualisieren wir die Software mit dem Befehl sudo Befehl:
|
1 |
sudo apt-get update |
Nachdem wir nun die Software-Repositories aktualisiert haben, installieren wir die erforderlichen apache2-Pakete.
Schritt 2: Erforderliche Pakete installieren
Da wir die HTTP-Authentifizierung für ein Verzeichnis einrichten, verwenden wir den Befehl htpasswd, um ein verschlüsseltes Passwort zu erstellen. Installieren Sie das apache2-utils-Paket mit dem folgenden Befehl:
|
1 |
sudo apt-get install apache2-utils |
Schritt 3: Benutzer und Passwort erstellen
In diesem Schritt richten wir die Anmeldedaten für die Basis-HTTP-Authentifizierung ein. Erstellen Sie im Stammverzeichnis eine .htpasswd-Datei, die dem Benutzer zugeordnet ist. Das Passwort wird verschlüsselt, und der Dateiname kann frei gewählt werden. Verwenden Sie den folgenden Befehl, um die Datei zu erstellen und den Benutzer mit einem verschlüsselten Passwort hinzuzufügen:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Überprüfen Sie als Nächstes die neu erstellte Datei mit dem folgenden Befehl:
|
1 |
cat /etc/nginx/.htpasswd |
Schritt 4: Nginx-Konfiguration aktualisieren
Sobald wir unsere Anmeldedaten für die HTTP-Basisauthentifizierung haben, richten wir Nginx ein und verwenden es auf unserer Ziel-Website. Wir benötigen die Direktiven auth_basic und auth_basic_user_file, um die HTTP-Basisauthentifizierung einzurichten. Der Wert der Direktive auth_basic ist ein String-Format, während der Wert von auth_basic_user_file der Pfad zu der in Schritt 3.
erstellten Passwortdatei ist. Es ist wichtig, die beiden Direktiven in die Konfigurationsdatei der Ziel-Website aufzunehmen. Sie finden den Speicherort der Ziel-Website im Verzeichnis /etc/nginx/sites-available. Öffnen Sie die Konfigurationsdatei mit dem Nano-Editor:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Fügen Sie dann beide Direktiven im Abschnitt location hinzu:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # Erster Versuch, die Anfrage als Datei zu bedienen, dann # als Verzeichnis, andernfalls Rückfall auf die Anzeige einer 404. try_files $uri $uri/ =404; # Einkommentieren, um naxsi für diesen Pfad zu aktivieren # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Speichern und schließen Sie die Konfigurationsdatei nach dem Hinzufügen der Direktive.
Schritt 5: Nginx neu starten
Laden Sie als Nächstes die Nginx-Dienste neu oder starten Sie sie neu, um die Änderungen auf unserem virtuellen Host anzuwenden. Danach versuchen wir, über unsere grundlegende HTTP-Authentifizierung auf die gesicherte Domain zuzugreifen. Verwenden Sie den folgenden Befehl, um die Nginx-Dienste zu aktivieren:
|
1 |
sudo service nginx reload |
Schritt 6: Sicherer Webzugriff
Sobald Sie Nginx neu gestartet haben, besteht der nächste Schritt darin, zu versuchen, auf die IP-Adresse oder den Domainnamen in Ihrem bevorzugten Browser zuzugreifen. Beim Klicken auf die IP-Adresse http://your_domain_name/ in Ihrem Browser öffnet sich eine Aufforderung, die Sie zur Eingabe der Anmeldedaten zur Authentifizierung auffordert. Sobald Sie den richtigen Benutzernamen und das richtige Passwort eingegeben haben, sehen Sie die Standard-Nginx-Startseite.
Fazit
In dieser Anleitung haben wir gelernt, wie man eine grundlegende HTTP-Authentifizierung mit Nginx konfiguriert. Die grundlegende Authentifizierung über Benutzername/Passwort ist nur eine von vielen Authentifizierungsoptionen, um eine sichere Verbindung in Nginx herzustellen.
Es gibt andere leistungsstarke Optionen, die für die Serverauthentifizierung verwendet werden. Zu den beliebten Methoden, die Sie verwenden können, gehören beispielsweise API-Integrationen, JSON Web Tokens, SSH-Schlüssel-basierte Authentifizierungen. Auch wenn die Einrichtung robuster Sicherheitsmechanismen anfangs schwierig erscheinen mag, sind sie äußerst effektiv, um Ihre Privatsphäre zu schützen.
Darüber hinaus gibt es viele weitere Lernmaterialien und Tutorials zu Nginx, auf die Sie über unsere Blogs:
- Übersicht über die Auswahlalgorithmen für Nginx-Server- und Location-Blöcke
- Installation und Konfiguration von Laravel mit Nginx auf Ubuntu 20.04
- Einrichten von Django mit PostgreSQL, Nginx und Gunicorn auf Ubuntu 20.04
Viel Spaß beim Computing!

Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.