Führen Sie die Schritte zum Konfigurieren der grundlegenden Benutzerauthentifizierung auf Nginx-Ebene aus.

Führen Sie die Schritte zum Konfigurieren der grundlegenden Benutzerauthentifizierung auf Nginx-Ebene aus.

Vorwort

Anwendungsszenario: Wahrscheinlich muss die interne Website für externe Benutzer zugänglich sein, dem Website-Konto des Besuchers können jedoch keine Berechtigungen erteilt werden. Daher werden Einschränkungen auf Nginx-Ebene auferlegt. Beispielsweise verfügen interne Mitarbeiter bei Outsourcing-Projekten über Konten, um Dokumente zu bearbeiten, während Outsourcing-Mitarbeiter keine internen Konten haben, aber die Dokumente einsehen können müssen. Daher ist die Einrichtung einer Benutzerauthentifizierung auf Nginx-Ebene die beste und einfachste Option. In den meisten Fällen eröffnen Arbeitgeber für Outsourcing-Mitarbeiter kein Konto mit grundlegenden Zugriffsrechten.

Voraussetzungen für die Benutzerauthentifizierung auf nginx-Ebene: Sie benötigen ein entsprechendes Programm zur Kennworterstellung, beispielsweise apache2-utils (Debian, Ubuntu) oder httpd-tools (RHEL / CentOS / Oracle Linux). Unterschiedliche Betriebssysteme erfordern unterschiedliche Software.

Erstellen einer Kontokennwortdatei

  • Verwenden Sie den Befehl sudo htpasswd -c /etc/apache2/.htpasswd user1 um das erste Konto zu erstellen, und drücken Sie dann die Eingabetaste, um das Kennwort einzugeben. Verwenden Sie denselben Befehl ohne den Parameter -c, um den zweiten Benutzer und das zweite Kennwort zu erstellen. Der Parameter -c dient zum Erstellen einer Datei. Sie müssen die Datei im zweiten und den folgenden Befehlen nicht erneut erstellen.
  • Bestätigen Sie, dass die Datei- und Kontoinformationen erfolgreich generiert wurden. Verwenden Sie den Befehl cat /etc/apache2/.htpasswd, um den Dateiinhalt anzuzeigen. Es sollte sich um das Konto und das verschlüsselte Passwort handeln, z. B.: user1:$apr1$/woC1jnP$KAh0SsVn5qeSMjTtn0E9Q0 usw.

Konfigurieren Sie Nginx für die grundlegende HTTP-Benutzerauthentifizierung

Verwenden Sie die Direktive auth_basic, um den Namen des geschützten Bereichs anzugeben, der im Popup-Fenster für Konto und Kennwort angezeigt wird. Verwenden Sie die Direktive auth_basic_user_file, um den Pfad .htpasswd mit den Konto- und Kennwortinformationen festzulegen. Konfigurieren Sie beispielsweise:

Standort /API {
 auth_basic "Administratorbereich";
 auth_basic_benutzerdatei /etc/apache2/.htpasswd; 
}

Wenn ein Block außerdem nicht das gesamte Authentifizierungssystem erben möchte, kann er im Block auth_basic deaktivieren, d. h. die Benutzerauthentifizierung wird deaktiviert. Konfigurieren Sie beispielsweise:

Server {
 ...
 auth_basic "Administratorbereich";
 auth_basic_user_file conf/htpasswd;

 Standort /public/ {
  auth_basic aus;
 }
}

Kombinieren Sie Authentifizierung mit Zugriffsbeschränkungen per IP-Adresse

Die HTTP-Basisauthentifizierung lässt sich wirkungsvoll mit Zugriffsbeschränkungen per IP-Adresse kombinieren. Sie können mindestens zwei Szenarien implementieren:

  • Der Benutzer muss authentifiziert sein und über IP-Zugriffsrechte verfügen
  • Benutzer müssen authentifiziert sein oder über IP-Zugriffsrechte verfügen

1. Verwenden Sie die Anweisungen zum Zulassen und Verweigern, um den Zugriff auf die angegebene IP-Adresse zuzulassen oder einzuschränken. Beispiel:

Standort /API {
 #... 192.168.1.2 verweigern;
 192.168.1.1/24 zulassen;
 127.0.0.1 zulassen;
 alles leugnen;
}

2. In anderen Netzwerken als 192.168.1.2 werden nur 192.168.1.1/24 Zugriffsrechte gewährt. HINWEIS: Allow- und Deny-Anweisungen werden in der Reihenfolge angewendet, in der sie definiert sind.

Kombinieren Sie Einschränkungen mit der Satisfaction-Direktive über IP- und HTTP-Authentifizierung. Wenn die Direktive auf „alle“ gesetzt ist, wird der Zugriff gewährt, wenn der Client beide Bedingungen erfüllt. Wenn die Direktive auf „any“ gesetzt ist, wird der Zugriff gewährt, wenn der Client mindestens eine Bedingung erfüllt, zum Beispiel:

Standort /API {
 #... alle zufriedenstellen; 

 192.168.1.2 verweigern;
 192.168.1.1/24 zulassen;
 127.0.0.1 zulassen;
 alles leugnen;

 auth_basic "Administratorbereich";
 auth_basic_user_file conf/htpasswd;
}

Das Obige kann in einem vollständigen Beispiel zusammengefasst werden:

http {
 Server {
  hören Sie 192.168.1.23:8080;
  root /usr/share/nginx/html;

  Standort /API {
   API;
   alle zufriedenstellen;

   192.168.1.2 verweigern;
   192.168.1.1/24 zulassen;
   127.0.0.1 zulassen;
   alles leugnen;

   auth_basic "Administratorbereich";
   auth_basic_benutzerdatei /etc/apache2/.htpasswd; 
  }
 }
}

Der endgültige Effekt ist wie unten dargestellt:

© Originalartikel, zitiert aus offiziellen Dokumenten

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So verwenden Sie das Realip-Modul im Nginx-Grundlagenlernen
  • Eine kurze Einführung in die Grundlagen von Nginx
  • Nginx-Grundlagen - Gzip-Konfigurationshandbuch
  • Grundlegende Sicherheitskonfiguration des Nginx-Servers und einige Sicherheitstipps
  • Eine Erklärung der grundlegenden Konfiguration von Nginx
  • Lernen Sie die Grundlagen von nginx

<<:  Installations-Tutorial zur komprimierten Version von MySQL 8.0.11 unter Win10

>>:  So schreiben Sie mit nodejs ein Tool zur Generierung von Entitätsklassen für Datentabellen für C#

Artikel empfehlen

13 JavaScript-Einzeiler, die Sie wie einen Experten aussehen lassen

Inhaltsverzeichnis 1. Holen Sie sich einen zufäll...

Zwei Methoden zum Wiederherstellen von MySQL-Daten

1. Einleitung Vor einiger Zeit gab es eine Reihe ...

Einführung in bedingte Zugriffsattribute und Pfeilfunktionen in JavaScript

Inhaltsverzeichnis 1. Bedingte Zugriffsattribute ...

Lösung für das Problem, dass Nacos keine Verbindung zu MySQL herstellen kann

Grund Die MySQL-Version, von der Nacos‘ POM abhän...

MySQL mit Nutzungsanalyse

Verwendung von „haben“ Mit der Having-Klausel kön...

Grundlegende Verwendung und Fallstricke der JavaScript-Array-Methode sort()

Vorwort Bei der täglichen Codeentwicklung gibt es...

Zusammenfassung der Web-Frontend-Kenntnisse (persönliche praktische Erfahrung)

1. Als ich heute eine Seite erstellte, stieß ich a...

Schreiben und Verstehen von Pfeilfunktionen und diesem in JS

Inhaltsverzeichnis Vorwort 1. So schreiben Sie Fu...

Tiefgreifendes Verständnis der verschiedenen Sperren von MySQL

Inhaltsverzeichnis Schlossübersicht Sperrklassifi...

Spezielle Methode zum Hinzufügen von Fremdschlüsseleinschränkungen in MySQL

Die Betriebsumgebung dieses Tutorials: Windows 7-...