So konfigurieren Sie Nginx, um den Datenverkehr basierend auf dem letzten Segment der Anforderungs-IP aufzuteilen

So konfigurieren Sie Nginx, um den Datenverkehr basierend auf dem letzten Segment der Anforderungs-IP aufzuteilen

Es handelt sich hauptsächlich um den Konfigurationssprung des if-Urteils im Standortparameter. Die Umleitung kann die Belastung und den Druck des Servers verringern. Dies ist eine sehr gängige Serverbereitstellungsarchitektur.
Springen Sie entsprechend dem Bereich des letzten Segments der IP

#Domänenname, IP, Port und andere Informationen ändern Sie bitte selbst upstream huaji-01.com {
 Server 192.168.1.100:8080;
}

Upstream huaji-02.com {
 Server 192.168.1.200:8080;
}

Server {

 hören Sie 80;
 Servername www.huaji.com;

 Standort /
 {
  wenn ( $remote_addr ~* ^(.*)\.(.*)\.(.*)\.[1,125]$) {
    Proxy-Passwort http://huaji-01.com;
    brechen;
  }

  Proxy-Passwort http://huaji-02.com;
 }

}

Das obige Beispiel leitet Anfragen mit IP-Adressen, die auf 1-125 enden, an huaji-01.com weiter, und andere an huaji-02.com. Sie können den regulären Ausdruck auch ändern, zum Beispiel

Regel: $remote_addr ~* ^(.*)\.(.*)\.(.*)\.*[0268]$ Gerade IPs, die mit 0268 enden, springen zu huaji-01.com, und andere springen zum zweiten Domänennamen.

Regel: $remote_addr ~* ^(112)\.(.*)\.(.*)\.(.*)$ IPs, die mit 112 beginnen, werden zum angegebenen Domänennamen umgeleitet;

Regel: $http_x_forwarded_for ~* ^(112)\.(.*)\.(.*)\.(.*)$ Leitet den Verkehr basierend auf dem Weiterleitungsadresssegment um und leitet den Verkehr, der mit 112 beginnt, an den angegebenen Domänennamen um.

Die Bedeutung der bedingten Beurteilung durch die if-Anweisung:

Übereinstimmung mit regulären Ausdrücken, wobei:

~ für Groß- und Kleinschreibung

~* ist eine Groß-/Kleinschreibung ignorierende Übereinstimmung.

Bei !~ und !~* wird zwischen Groß- und Kleinschreibung unterschieden, bei anderen Übereinstimmungen wird zwischen Groß- und Kleinschreibung unterschieden.

Datei- und Verzeichnisübereinstimmung, wobei:

Mit -f und !-f wird ermittelt, ob eine Datei existiert

Mit -d und !-d wird ermittelt, ob ein Verzeichnis existiert

-e und !-e werden verwendet, um zu bestimmen, ob eine Datei oder ein Verzeichnis existiert

-x und !-x werden verwendet, um zu bestimmen, ob die Datei ausführbar ist

Der letzte Parameter der Rewrite-Direktive ist das Flag-Tag, das Folgendes enthält:

last entspricht dem Flag [L] in Apache, was „umschreiben“ bedeutet.

break Nachdem diese Regel abgeglichen wurde, wird der Abgleich beendet und die folgenden Regeln werden nicht mehr abgeglichen.

Die Umleitung gibt eine temporäre 302-Umleitung zurück und die Browseradresse zeigt nach dem Sprung die URL-Adresse an.

permanent gibt eine permanente 301-Umleitung zurück und die Browseradresse zeigt nach dem Sprung die URL-Adresse an.

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:
  • Beispielcode zur Implementierung der IP-Zugriffsumleitung durch den Nginx-Reverseproxy

<<:  Vue verbessert die Seitenantwortgeschwindigkeit durch Lazy Loading

>>:  MySQL-Paket für Abfrage ist zu groß – Problem und Lösung

Artikel empfehlen

HTML-Tipps, um Ihren Code semantisch zu gestalten

HTML-Semantik scheint ein alltägliches Problem zu...

Detaillierte Hinweise zu React für Einsteiger

Inhaltsverzeichnis 1. Grundlegendes Verständnis v...

Teilen Sie 8 MySQL-Fallstricke, die Sie erwähnen müssen

MySQL ist einfach zu installieren, schnell und ve...

So verwenden Sie Webpack und Rollup zum Verpacken von Komponentenbibliotheken

Vorwort Ich habe zuvor eine Komponente im Ladesti...

Zusammenfassung der 7 Fallstricke bei der Verwendung von React

Inhaltsverzeichnis 1. Komponentenaufblähung 2. Än...

Beispielcode zum Setzen von Hotlinks und Koordinatenwerten für Webbilder

Manchmal müssen Sie mehrere Bereiche auf einem Bi...

Tipps zur Kurzschrift in JavaScript

Inhaltsverzeichnis 1. Arrays zusammenführen 2. Ar...

MYSQL Performance Analyzer EXPLAIN Anwendungsbeispielanalyse

Dieser Artikel veranschaulicht anhand eines Beisp...

Prozess des Klassenlademechanismus von Tomcat und Quellcodeanalyse

Inhaltsverzeichnis Vorwort 1. Strukturdiagramm de...

Üben Sie die Verwendung von Golang, um mit der Docker-API zu spielen

Inhaltsverzeichnis Installieren des SDK Lokalen D...

Vue implementiert einen beweglichen schwebenden Button

In diesem Artikelbeispiel wird der spezifische Co...