Vorwort Das integrierte Modul von 1. Standardkonfigurationssyntax nginx.conf als Hauptkonfigurationsdatei include /etc/nginx/conf.d/*.conf liest auch die .conf-Dateien in diesem Verzeichnis 1.1 Global und Service-Level Benutzer: Legen Sie fest, dass Benutzer-Workerprozesse verwendet werden, um die Anzahl gleichzeitiger Verbindungen zu erhöhen. Achten Sie darauf, dass dies mit der CPU übereinstimmt. Legen Sie acht Fehlerprotokolle für acht Kerne fest. nginx-Fehlerprotokoll-PID. nginx-Dienststart-PID 1.2 Eventmodul für Veranstaltungen worker_connections Die maximale Anzahl von Verbindungen, die ein Prozess verarbeiten darf, definiert das verwendete Kernelmodell 1.3 Server root Der Pfad der Homepage index Die standardmäßig zu besuchende Seite auf der Homepage error_page 500 502 503 504 /50x.html Die 500 vor der Fehlerseite ist **`http status code`** systemctl restart nginx.service startet nginx neu systemctl reload nginx.service startet sanft neu, ohne den Dienst herunterzufahren 2. HTTP curl-v http://www.baidu.com >/dev/null #-v zeigt auch Statuscode und andere Informationen an nginx -V #Zeigt die Nginx-Version und Informationen zur Konfigurationsdatei an 3. Protokolle Protokolltypen: error.log und access.log error.log (zeichnet den Fehlerstatus der Verarbeitung von HTTP-Anfragen und den Fehlerstatus von nginx selbst auf) access.log (Zugriffsstatus jeder HTTP-Anfrage) log_format: Legt das Protokollaufzeichnungsformat fest und definiert, wie das Protokoll in error.log und access.log aufgezeichnet wird. Die log_format-Konfiguration kann nur im http-Modul konfiguriert werden. access_log ist in http konfiguriert. 4. Variablen Verbindungslimit limit_conn_module
|
Syntax von limit_req_module | Umfang | veranschaulichen |
---|---|---|
limit_req_zone Schlüsselzone=Bereichsname:Bereichsgröße Rate=Anzahl der Anfragen pro Sekunde; | http | Wird verwendet, um einen Speicherplatz zu deklarieren |
limit_req zone=Raumname[burst=Anzahl der Warteschlangen] [Knotenverzögerung]; | http, Server oder Standort | Wird verwendet, um die Anzahl gleichzeitiger Anfragen für einen Speicherplatz zu begrenzen |
Die Zone hier ist auch ein Raum zum Speichern von Verbindungen.
Burst und Nodelay
burst
und nodelay
legen einen Puffer und eine Strategie zur Verzögerung der Verarbeitung gleichzeitiger Anforderungen fest.
Gehen Sie zunächst davon aus, dass die folgende zone
vorliegt.
http { limit_req_zone $binan_remote_addr Zone=Anforderungszone:1m Rate=10r/s; }
Fall 1: limit_req zone=req_zone;
1
Sekunde werden 10
Anfragen gesendet und die Antwort ist normal.1
Sekunde werden 13
Anfragen gesendet. Die ersten 10
Anfragen werden normal beantwortet und die letzten 3
503(Service Temporarily Unavailable)
. Ohne brust
und nodelay
können mit rate=10r/s
nur 10
Anfragen pro Sekunde ausgeführt werden und es werden direkt mehr als 503
Fehler zurückgegeben.
Fall 2: limit_req zone=req_zone brust=5;
1
Sekunde werden 10
Anfragen gesendet und die Antwort ist normal.1
Sekunde werden 13
Anfragen gesendet. Auf die ersten 10
Anfragen wird normal geantwortet, und die letzten 3
Anfragen werden in brust
versetzt und warten auf eine Antwort.1
Sekunde werden 20
Anfragen gesendet. Auf die ersten 10
Anfragen wird normal geantwortet. Die nächsten 5
Anfragen werden in brust
gestellt und warten auf eine Antwort. Die letzten 5
Anfragen geben 503(Service Temporarily Unavailable)
. In der 2
Sekunde werden die 5
Anfragen in brust
ausgeführt.1
werden 20
Anfragen gesendet. Die ersten 10
Anfragen werden normal beantwortet, die nächsten 5
Anfragen werden in brust
versetzt 5
warten auf eine Antwort. Die letzten 5
Anfragen geben 503(Service Temporarily Unavailable)
. In der 2
Sekunde werden 6
Anfragen gesendet, 5
Anfragen in brust
brust
versetzt und warten auf eine Antwort. Die verbleibende 1
Anfrage gibt 503(Service Temporarily Unavailable)
. Wenn brust=5
hinzugefügt wird, nodelay
jedoch nicht, gibt es einen Puffer mit einer Kapazität von 5
rate=10r/s
können nur 10
Anfragen pro Sekunde ausgeführt werden. Die überzähligen Anfragen werden in den Puffer gestellt. Wenn der Puffer voll ist, wird direkt ein 503
Fehler zurückgegeben. Der Puffer nimmt die Anfrage heraus und antwortet im nächsten Zeitintervall. Wenn weitere Anfragen eingehen, werden diese weiterhin in den Puffer gestellt. Wenn es zu viele sind, wird ein 503
Fehler zurückgegeben.
Fall 3: limit_req zone=req_zone brust=5 nodelay;
1
Sekunde werden 10
Anfragen gesendet und die Antwort ist normal.1
wurden 13
Anfragen gesendet und 13
Anfragen wurden normal beantwortet.1
Sekunde werden 20
Anfragen gesendet. Die ersten 15
Anfragen werden normal beantwortet und die letzten 5
503(Service Temporarily Unavailable)
.1
werden 20
Anfragen gesendet, die ersten 15
Anfragen werden normal beantwortet und die letzten 5
Anfragen geben 503(Service Temporarily Unavailable)
. In der 2
Sekunde werden 6
Anfragen gesendet und normal beantwortet. Bei brust=5
und nodelay
gibt es einen Puffer mit einer Kapazität von 5
, rate=10r/s
können 15
Anfragen pro Sekunde ausgeführt werden, 15=10+5
. Geben Sie 503
Fehler direkter zurück.
IP-basierte Zugriffskontrolle
http_
: IP-basierte Zugriffskontrolle. Beschränkungen können durch einen Proxy umgangen werden. Es schützt vor Guten, aber nicht vor Bösen.
http_access_module-Syntax | Umfang | veranschaulichen |
---|---|---|
IP-Adresse zulassen | CIDR-Netzwerksegment | Unix: | alle; | http, Server, Standort und limit_except | Erlauben Sie den Zugriff von einer IP-Adresse, einem CIDR-Netzwerksegment, einem Unix-Socket oder allen Quellen. |
IP-Adresse verweigern | CIDR-Netzwerksegment | Unix: | alle; | http, Server, Standort und limit_except | Blockieren Sie den Zugriff nach IP-Adresse, CIDR-Netzwerksegment, Unix-Socket oder allen Quellen |
„Zulassen“ und „Verweigern“ werden der Reihe nach von oben nach unten platziert, um die erste passende Regel zu finden und zu bestimmen, ob der Zugriff erlaubt ist. Daher wird all
“ normalerweise ans Ende platziert.
Standort / { 192.168.1.1 verweigern; 192.168.1.0/24 zulassen; 10.1.1.0/16 zulassen; erlauben 2001:0db8::/32; alles leugnen; }
Zugriffskontrolle basierend auf Benutzerkennwort
ht
tp_auth_basic_module: Anmeldung basierend auf einer Datei, die mit dem Benutzerkennwort übereinstimmt
http_auth_basic_module-Syntax | Umfang | veranschaulichen |
---|---|---|
auth_basic Bitte geben Sie Ihr Kontopasswort ein| aus; | http, Server, Standort und limit_except | Zeigen Sie die Benutzeranmeldeaufforderung an (einige Browser zeigen die Aufforderung nicht an) |
auth_basic_user_file ist der Dateipfad, in dem das Kontokennwort gespeichert ist; | http, Server, Standort und limit_except | Kontokennwort aus Datei abgleichen |
Die Passwortdatei kann von htpasswd
generiert werden. htpasswd
muss yum install -y httpd-tools
installiert werden.
# -c erstellt eine neue Datei, -b trägt das Passwort direkt in den Parameter ein $ htpasswd -bc /etc/nginx/conf.d/passwd user1 pw1 Passwort für Benutzer user1 hinzufügen $ htpasswd -b /etc/nginx/conf.d/passwd Benutzer2 pw2 Passwort für Benutzer user2 hinzufügen $ cat /etc/nginx/conf.d/passwd Benutzer1:$apr1$7v/m0.IF$2kpM9NVVxbAv.jSUvUQr01 Benutzer2:$apr1$XmoO4Zzy$Df76U0Gzxbd7.5vXE0UsE0
Verweise
limit_conn_module
limit_req_modul
http_access_module
http_auth_basic_module
Zusammenfassen
Oben habe ich Ihnen die Zugriffskontrolle und Verbindungsbeschränkung auf Basis von Nginx vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!
<<: Detaillierte Erläuterung der Vorgänge zum Hinzufügen, Löschen und Ändern der MySQL-Datenbank
In diesem Artikel wird der spezifische Code zur I...
herunterladen http://nginx.org/en/download.html E...
1. Die ENV-Anweisung im Dockerfile wird verwendet...
Code kopieren Der Code lautet wie folgt: <!DOC...
Überblick In tatsächlichen Geschäftsszenarioanwen...
Analysieren Sie den Ausführungsprozess. Bewegen S...
0. Umwelt Betriebssystem für diesen Artikel: Cent...
Inhaltsverzeichnis Unterstützt mehrere Filterarte...
Vorwort Die Anwendungs- und Lernumgebung von MySQ...
Zusammenfassung der Installations- und Konfigurat...
Beim Entwickeln von Anwendungen, die eine Datenba...
Hintergrund Bei der Replikation handelt es sich u...
1. Einleitung Ich habe zuvor einen Artikel geschr...
Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...
MySQL 8.0.3 steht kurz vor der Veröffentlichung. ...