Heim >Betrieb und Instandhaltung >Nginx >So implementieren Sie die Nginx-Frontend-Verteilung basierend auf $remote_addr

So implementieren Sie die Nginx-Frontend-Verteilung basierend auf $remote_addr

王林
王林nach vorne
2023-05-12 22:01:121494Durchsuche

Die Anforderungen sind wie folgt:

Es gibt mehrere Server unter dem Domainnamen. Jetzt testen wir, ob IP-Benutzer in einer bestimmten Region nur auf einen bestimmten Server zugreifen können Ist kein Problem, aktualisieren Sie sie alle. Wenn es ein Problem gibt, wird die Auswirkung geringer sein und das Problem wird rechtzeitig erkannt und gelöst -End-Load-Balancing-Weiterleitungsmaschine;

nginx-Konfiguration vhost, das Standortsegment unter dem Domänennamen, Fügen Sie einen Code hinzuWenn $remote_addr mit der IP übereinstimmt, leiten Sie es an abc_test_server weiter;

server {
  listen    80;
  server_name abc.com.cn;
  access_log /dev/null;
  error_log /data/logs/error.log;
  
  location / {

  proxy_set_header  host       $host;
  proxy_set_header  x-real-ip    $remote_addr;
  proxy_set_header  x-forwarded-for $proxy_add_x_forwarded_for;
      if ($remote_addr ~ "202.96.134.100") 
       {
           proxy_pass http://abc_test_server;
            break;
        }
  proxy_pass http://abc_server;
  }
}

Die Lastausgleichskonfiguration muss ebenfalls erfolgen Fügen Sie einen Code hinzu

#abc_test only
upstream abc_test_server {
  server  192.168.20.10:80;
  
}

#abc.com.cn
upstream abc_server {
  server  192.168.20.11:80;
  server  192.168.20.12:80;
  server  192.168.20.13:80;
}

Die eingestellte IP wird zum Testen direkt an den Back-End-Server 192.168.20.10 verteilt.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Nginx-Frontend-Verteilung basierend auf $remote_addr. 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