So konfigurieren Sie die CDN-Planung mit dem Modul Nginx_geo

So konfigurieren Sie die CDN-Planung mit dem Modul Nginx_geo

Einführung in das Geo-Modul von Nginx

Die Geo-Direktive wird durch das Modul ngx_http_geo_module bereitgestellt. Standardmäßig lädt nginx dieses Modul, sofern nicht --without-http_geo_module angegeben ist.

Mit dem Modul ngx_http_geo_module können Variablen erstellt werden, deren Werte von der Client-IP-Adresse abhängen. So verwenden Sie es:

Syntax der Geo-Direktive: geo [$address] $variable { ... }
Standardwert: -
Konfigurationsabschnitt: http

Definiert, wie die IP-Adresse des Clients aus der angegebenen Variable abgerufen wird. Standardmäßig erhält nginx die Client-IP-Adresse aus der Variable $remote_addr, sie kann jedoch auch aus anderen Variablen bezogen werden.

Fügen Sie der Datei /usr/local/nginx/conf/nginx.conf die folgende Konfiguration hinzu: geo $geo {
    Bereiche; #Verwenden Sie die Adresse in Form von Adresssegmenten, dieser Parameter muss an erster Stelle stehen. Standard-DN;
    ip_geo.conf einschließen;
  }

    Upstream wuhan.server {
      Server 192.168.155.98:8081;
    }

    Upstream shanghai.server {
      Server 192.168.155.98:8082;
    }

    Upstream shenzhen.server {
      Server 192.168.155.98:8083;
    }

    Upstream-DN.Server {
      Server 192.168.155.98:8084;
    }

 Server {
    hören Sie 80;
    Servername 192.168.155.98 jiaoyu.media.cloudp.cc;
      Stamm-HTML;
      Index Index.html Index.htm;
    Standort ~* \.xml$ {
      Stammverzeichnis /Daten/Video;
    }
    Standort / {
      Proxy_Redirect aus;
      Proxy_Set_Header Host $host;
      Proxy_Set_Header X-Real-IP $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für 
      $proxy_add_x_weitergeleitet_für;
      Proxy-Passwort http://$geo.server$request_uri;
    }
  }

  Server {
    hören Sie 8081;
    Servername 192.168.155.98;
    Standort / {
      neu schreiben ^ $scheme://192.168.155.106$request_uri? permanent;
    }
  }

  Server {
    hören Sie 8082;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://192.168.155.107$request_uri? permanent;
    }
  }

Server {
    hören Sie 8083;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://192.168.155.109$request_uri? permanent;
    }
  }

  Server {
    hören Sie 8084;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://jiaoyu.dn.cloudp.cc$request_uri? permanent;
    }
}

Fügen Sie die Datei ip_geo.conf unter /usr/local/nginx/conf/ hinzu, um den IP-Bereich aufzuteilen. Beachten Sie, dass es beim Aufteilen zu keiner IP-Überlappung kommen darf, da sonst ein „Überlappungs“-Fehler gemeldet wird.

vim /usr/local/nginx/conf/ip_geo.conf

192.168.128.6-192.168.128.10 Wuhan;
192.168.128.11–192.168.128.15 Shanghai;
192.168.128.16-192.168.128.20 Shenzhen;

Sie können IP-Adressen auch in der Form 10.2.0.0/16 wuhan segmentieren, sodass Sie die Bereichsdirektive nicht verwenden müssen, um sie in nginx.conf zu definieren.

Die obige Konfigurationsmethode zur Verwendung des Moduls Nginx_geo zur Implementierung der CDN-Planung ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Geomoduls in Nginx und Beispiele für die Verwendung zum Konfigurieren des Lastenausgleichs
  • Nginx-GeoIP-Modul zur Erzielung eines regionalen Lastausgleichs
  • Detaillierte Erläuterung der Konfiguration und Verwendung des Kartenmoduls im Nginx-Server

<<:  Zusammenfassung des in JS implementierten Minesweeping-Projekts

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.23

Artikel empfehlen

HTML-Seite unterstützt die Implementierung des Dunkelmodus

Seit 2019 verwenden sowohl Android- als auch iOS-...

Grafisches Tutorial zur Installation der komprimierten Version von MySQL 8.0.15

In diesem Artikel wird die Installationsmethode d...

Beste Möglichkeit, den Schlüssel im JSON-Objekt zu ersetzen

JSON (JavaScript Object Notation, JS Object Notat...

Three.js-Beispielcode zur Implementierung des Tautropfen-Animationseffekts

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

JS erzielt Fünf-Sterne-Lobeffekt

Verwenden Sie JS, um objektorientierte Methoden z...

Probleme mit Vue, das die Homepage von Bibibili imitiert

Technische Struktur Das Projekt ist in zwei Teile...

Vue implementiert eine einfache Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Installation und Verwendung der Ubuntu 18.04 Serverversion (Bild und Text)

1 Schritte zur Systeminstallation Betriebssystemv...

Installations-Tutorial zur komprimierten Version von MySQL 8.0.11

In diesem Artikel finden Sie das Installations-Tu...