Présentez le module geo de nginx
La commande geo est fournie par le module ngx_http_geo_module. Par défaut, nginx charge ce module sauf si --without-http_geo_module est configuré manuellement. Le module
ngx_http_geo_module peut être utilisé pour créer des variables dont les valeurs dépendent de l'adresse IP du client. L'utilisation est la suivante :
geo指令 语法: geo [$address] $variable { ... } 默认值: — 配置段: http
Définir pour obtenir l'adresse IP du client à partir de la variable spécifiée. Par défaut, nginx obtient l'adresse IP du client à partir de la variable $remote_addr, mais elle peut également être obtenue à partir d'autres variables.
在/usr/local/nginx/conf/nginx.conf文件内加入以下配置 geo $geo { ranges; #使用以地址段的形式定义地址,这个参数必须放在首位 default dn; include ip_geo.conf; } 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 { listen 80; server_name 192.168.155.98 jiaoyu.media.cloudp.cc; root html; index index.html index.htm; location ~* \.xml$ { root /data/video; } location / { proxy_redirect off; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_pass http://$geo.server$request_uri; } } server { listen 8081; server_name 192.168.155.98; location / { rewrite ^ $scheme://192.168.155.106$request_uri? permanent; } } server { listen 8082; server_name 192.168.155.98; location / { rewrite ^ $scheme://192.168.155.107$request_uri? permanent; } } server { listen 8083; server_name 192.168.155.98; location / { rewrite ^ $scheme://192.168.155.109$request_uri? permanent; } } server { listen 8084; server_name 192.168.155.98; location / { rewrite ^ $scheme://jiaoyu.dn.cloudp.cc$request_uri? permanent; } }
Ajoutez le fichier ip_geo.conf sous le fichier /usr/local/nginx/conf/ pour diviser la zone IP. Notez qu'il ne doit pas y avoir de chevauchement IP lors de la division, sinon des erreurs de "chevauchement" apparaîtront
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;
Aussi IP. la segmentation peut être effectuée sous la forme 10.2.0.0/16 wuhan afin qu'il ne soit pas nécessaire d'utiliser la directive range pour la définir dans nginx.conf
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!