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

Vue implementiert eine einfache Produktion von Zählern

In diesem Artikelbeispiel wird der einfache Imple...

HTML+CSS zum Erstellen eines geschichteten Pyramidenbeispiels

Dieser Artikel stellt hauptsächlich das Beispiel ...

Eine kurze Analyse der Unterschiede zwischen „:=“ und „=“ in MySQL

= Nur beim Setzen und Aktualisieren wirkt es wie ...

Verwenden Sie Docker, um ein Git-Image mithilfe des Klon-Repositorys zu erstellen

Überblick Ich verwende Docker seit über einem Jah...

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

Hinweise zu den Formularkomponenten des Elements

Elementform und Codeanzeige Weitere Einzelheiten ...

JavaScript entfernt unnötige Eigenschaften eines Objekts

Inhaltsverzeichnis Beispiel Methode 1: Löschen Me...

Tutorial zur HTML-Tabellenauszeichnung (2): Tabellenrahmenattribute BORDER

Standardmäßig beträgt der Rand der Tabelle 0 und ...

Gründe und Methoden zum Warten auf die Sperre der Tabellenmetadaten in MySQL

Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...

Nexus nutzt API für den Betrieb

Nexus bietet RestApi, aber einige APIs müssen noc...