Detaillierte Erläuterung der Verbindungslimitkonfiguration von Nginx für IP-Adressen in einem Netzwerksegment

Detaillierte Erläuterung der Verbindungslimitkonfiguration von Nginx für IP-Adressen in einem Netzwerksegment

Das sogenannte Verbindungslimit in Nginx ist tatsächlich eine TCP-Verbindung, dh der Verbindungsstatus, der vom Anforderer nach einem Drei-Wege-Handshake erfolgreich hergestellt wurde. Nginx stellt uns im Allgemeinen das Modul ngx_http_limit_conn_module zur Verfügung, um eine Verbindungsbegrenzungsfunktion bereitzustellen. Dieses Modul kann die Anzahl der Verbindungen für jeden Schlüsselwert basierend auf dem definierten Schlüssel begrenzen, beispielsweise die Anzahl der Verbindungen von einer einzelnen IP-Quelle.

Erläuterung der Anweisung ngx_http_limit_conn_module

Syntax: limit_conn Zonennummer;
Standard: -
Kontext: http, Server, Standort

Diese Anweisung beschreibt den Speicherbereich für den Sitzungsstatus. Der Status des Schlüssels enthält die aktuelle Anzahl der Verbindungen und der Wert des Schlüssels kann für eine bestimmte Variable jeder beliebige Wert ungleich Null sein (Nullwerte werden nicht berücksichtigt). $variable definiert den Schlüssel und zone=name definiert den Zonennamen. Häufige Anwendungsbeispiele:

Verbindungslimitzone $binary_remote_addr Zone=Adresse:10m;

Server {
  Standort /download/ {
    limit_conn Adresse 1;
  }

Das obige Beispiel zeigt, dass bei einer Anforderung zum Zugriff auf /download/ immer nur eine Anforderungsverbindung die Ressource erfolgreich herunterladen kann.

Netzwerksegmentbeschränkung

Übliche limit_conn_zone-Konfigurationen legen im Allgemeinen $binary_remote_addr oder $server_name fest, um die Anzahl der Verbindungen auf einer einzelnen IP- oder Hostebene zu begrenzen.

Aber manchmal möchten wir die Anzahl der Verbindungen auf ein bestimmtes IP-Segment beschränken. Dann können wir Folgendes tun:

http {

... ...

  limit_conn_zone $ip_segment zone=Netzwerksegment:10m;

  Server {
      ... ...
      setze $ip_segment $remote_addr;

      wenn ( $ip_segment ~ ^(\d+)\.(\d+)\.(\d+)\.(\d+) ) {
        setze $ip_segment $1.$2.$3;
      }

      Standort /download/ {
        limit_conn Netzwerksegment 10; 
        #Grenzwert 200k;
      }

  }
}

Dies erfüllt grundsätzlich die Anforderung von Nginx, eine einheitliche Verbindungsbeschränkung für die Anzahl der Verbindungen für alle IPs im Netzwerksegment festzulegen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Nginx-Strombegrenzungskonfiguration
  • Analyse der Implementierung der Nginx Rush-Kaufstrombegrenzungskonfiguration
  • Praktische Aufzeichnung der aktuellen Einschränkungen und des Konfigurationsmanagements von Nginx

<<:  Vue implementiert die Countdown-Komponente für zweite Kills

>>:  So zeigen Sie den Speicherort von MySQL-Datendateien an

Artikel empfehlen

Vue3 manuelle Kapselung Popup-Box-Komponente Nachrichtenmethode

In diesem Artikel wird der spezifische Code der m...

Lösung zum automatischen Stoppen des MySQL-Dienstes

Dieser Artikel stellt hauptsächlich die Lösung fü...

Analyse des Prinzips des Rabbitmq Heartbea-Herzschlagerkennungsmechanismus

Vorwort Wenn Sie RabbitMQ verwenden und für einen...

Vue realisiert einen dynamischen Fortschrittsbalkeneffekt

In diesem Artikelbeispiel wird der spezifische Co...

So ändern Sie die Apt-Get-Quelle in Ubuntu 18.04

Bei Verwendung von apt-get zur Installation ist d...

React Diff-Algorithmus-Quellcodeanalyse

Inhaltsverzeichnis Einzelner Knoten Diff Einzelel...

Drei Möglichkeiten, um zu verhindern, dass MySQL doppelte Daten einfügt

Erstellen einer neuen Tabelle CREATE TABLE `Perso...

Ausführliche Erläuterung der Konzepte und Verwendung von MySQL-Transaktionen

Inhaltsverzeichnis Der Begriff der Affären Der St...

Miniprogramm Benutzerdefinierte TabBar-Komponentenkapselung

In diesem Artikelbeispiel wird der spezifische Co...

So leiten Sie den Nginx-Verzeichnispfad um

Wenn der Pfad nach dem Domänennamen auf andere Ve...

So konfigurieren Sie eine VMware-Umgebung mit mehreren Knoten

Dieses Tutorial verwendet CentOS 7 64-Bit. Weisen...