Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie Nginx so, dass der Datenverkehr basierend auf dem letzten Segment der Anforderungs-IP umgeleitet wird

So konfigurieren Sie Nginx so, dass der Datenverkehr basierend auf dem letzten Segment der Anforderungs-IP umgeleitet wird

WBOY
WBOYnach vorne
2023-05-18 10:10:341157Durchsuche

Vor allem der Konfigurationssprung der if-Beurteilung im Standortparameter kann die Belastung und den Druck des Servers verringern. Dies ist eine sehr häufige Serverbereitstellungsarchitektur.
Sprung basierend auf dem Bereich des letzten IP-Segments

#域名,ip,端口等信息请自行修改

upstream huaji-01.com {
 server 192.168.1.100:8080;
}

upstream huaji-02.com {
 server 192.168.1.200:8080;
}

server {

 listen 80;
 server_name www.huaji.com;

 location /
 {
  if ( $remote_addr ~* ^(.*)\.(.*)\.(.*)\.[1,125]$) {
    proxy_pass http://huaji-01.com;
    break;
  }

  proxy_pass http://huaji-02.com;
 }

}

Das Obige besteht darin, die Anforderungsquelle mit dem letzten IP-Segment 1-125 an huaji-01.com und andere Anforderungen an weiterzuleiten huaji-02.com können Sie auch die regulären Regeln ändern, z. B.

Rule: $remote_addr ~* ^(.*).(.*).(.*).*[0268] $ Das Ende ist eine gerade Zahl IP wie 0268, Springe zu huaji-01.com, andere springen zum zweiten Domainnamen;

Regel: $remote_addr ~* ^(112).(.*) .(.*).(.* )$ IP, beginnend mit 112, springt zum angegebenen Domainnamen;

Rule: $http_x_forwarded_for ~* ^(112).(.*).(.*) .(.*)$ Springen Sie je nach Weiterleitungsadresssegment zum Umleiten des Datenverkehrs zum angegebenen Domänennamen, beginnend mit 112

if Die Bedeutung der Befehlsbedingungsbeurteilung:

#🎜 🎜#Übereinstimmung mit regulären Ausdrücken, wobei: #🎜 🎜#~ für die Übereinstimmung zwischen Groß- und Kleinschreibung spricht Bei !~* wird die Groß-/Kleinschreibung beachtet. Schreibkonflikt bzw. Nicht-Groß-/Kleinschreibungskonflikt. f werden verwendet, um festzustellen, ob die Datei vorhanden ist

-d und !-d werden verwendet, um festzustellen, ob das Verzeichnis existiert

-e und !-e werden verwendet, um festzustellen, ob die Datei oder das Verzeichnis existiert

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

Der letzte Parameter des Rewrite-Befehls ist das Flag Das Flag-Tag lautet: #🎜🎜 #last entspricht der [l]-Markierung in Apache, was Umschreiben bedeutet.

break Nachdem der Abgleich dieser Regel abgeschlossen ist, wird der Abgleich beendet und nachfolgende Regeln werden nicht mehr abgeglichen.

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

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

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Nginx so, dass der Datenverkehr basierend auf dem letzten Segment der Anforderungs-IP umgeleitet wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen