So verwenden Sie Nginx zur Implementierung der HTTP-Basisauthentifizierung

WBOY
Freigeben: 2023-06-10 10:36:14
Original
2425 Leute haben es durchsucht

Nginx ist ein leistungsstarker, zuverlässiger Webserver und Reverse-Proxy-Server. Zusätzlich zu seinen leistungsstarken Lastausgleichs- und Caching-Funktionen unterstützt Nginx auch die HTTP-Basisauthentifizierung. Die HTTP-Basisauthentifizierung ist eine einfache Authentifizierungsmethode, die die Identität des Benutzers überprüft, indem sie einen Benutzernamen und ein Kennwort in den Anforderungsheader einfügt. In diesem Artikel erfahren Sie, wie Sie die HTTP-Basisauthentifizierung mit Nginx implementieren.

1. Benutzernamen und Passwort festlegen

Zuerst müssen wir eine Passwortdatei erstellen. Wir können den Befehl htpasswd verwenden, um diese Datei zu erstellen. htpasswd ist ein Befehlszeilentool zum Verwalten von HTTP-Basisauthentifizierungskennwörtern.

Wir können den folgenden Befehl im Terminal verwenden, um eine Passwortdatei zu erstellen:

htpasswd -c /etc/nginx/.htpasswd username
Nach dem Login kopieren

Darunter bedeutet -c, eine neue Passwortdatei zu erstellen, /etc/nginx/.htpasswd ist der Pfad zur Passwortdatei und der Benutzername ist der Benutzername, den wir hinzufügen möchten. Nachdem Sie diesen Befehl ausgeführt haben, werden Sie zur Eingabe Ihres Passworts aufgefordert. Nach Eingabe des Passworts hasht htpasswd das Passwort und speichert es in der Passwortdatei.

Wenn Sie weitere Benutzer zur Passwortdatei hinzufügen möchten, verwenden Sie den folgenden Befehl:

htpasswd /etc/nginx/.htpasswd username2
Nach dem Login kopieren

Dieser Befehl verfügt nicht über die Option -c, da unsere Passwortdatei bereits existiert. Nach Eingabe des Befehls werden Sie zur Eingabe Ihres Passworts aufgefordert. Nach der Eingabe hasht htpasswd den Benutzernamen und das Passwort und fügt sie einer Passwortdatei hinzu.

2. Grundlegende Authentifizierung in Nginx anwenden

Jetzt haben wir eine Passwortdatei erstellt, die Benutzernamen und Passwort-Hashes enthält. Als nächstes müssen wir die HTTP-Basisauthentifizierung in Nginx anwenden.

Wir müssen die folgenden Anweisungen im Serverblock oder Standortblock hinzufügen:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
Nach dem Login kopieren

Die erste Anweisung weist Nginx an, eine Basisauthentifizierung für die Anfrage durchzuführen und „Eingeschränkt“ als Beschreibungsinformation im Popup-Anmeldefeld anzuzeigen.

Die zweite Anweisung weist Nginx an, die Datei /usr/share/nginx/.htpasswd zur Authentifizierung des Benutzers zu verwenden.

Zum Beispiel können wir den folgenden Code in den Standardserverblock von Nginx einfügen:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
Nach dem Login kopieren

Jetzt haben wir erfolgreich die Basisauthentifizierung zu unserem Nginx-Server hinzugefügt.

3. Testen Sie die HTTP-Basisauthentifizierung

Jetzt testen wir die Authentifizierungsfunktion, die wir gerade eingerichtet haben. Wir können mit Tools wie Curl oder Firefox testen.

Test mit Curl:

curl -I http://localhost
Nach dem Login kopieren

Die Befehlszeile fordert Sie zur Eingabe Ihres Benutzernamens und Passworts auf. Nachdem Sie den richtigen Benutzernamen und das richtige Passwort eingegeben haben, können Sie den folgenden Code im HTTP-Antwortheader sehen:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
...
Nach dem Login kopieren

Testen mit Firefox:

Geben Sie in Firefox die Serveradresse http://localhost ein. Firefox öffnet ein Fenster mit dem Wort „Eingeschränkt“ und einer Beschreibung und fordert Sie auf, Ihren Benutzernamen und Ihr Passwort einzugeben. Nachdem Sie den richtigen Benutzernamen und das richtige Passwort eingegeben haben, werden Sie zur Standardwebseite Ihres Servers weitergeleitet.

Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit Nginx die HTTP-Basisauthentifizierung implementieren. HTTP Basic Authentication ist eine einfache, aber effektive Authentifizierungsmethode, mit der sensible Ressourcen eines Webservers geschützt werden können. Wir können die HTTP-Basisauthentifizierung ganz einfach zu unserem Nginx-Server hinzufügen, indem wir zunächst eine Passwortdatei mit dem Befehl htpasswd erstellen und dann die Anweisung „Basic Authentication“ in der Nginx-Konfiguration anwenden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx zur Implementierung der HTTP-Basisauthentifizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!