介绍
geo是nginx的地域模块, 管理人员可以通过用户的ip信息查询到地理位置,再根据地理位置提供更好的服务··
由于免费的地理位置库往往不会太准确,所以没有准确地理位置库,不建议使用nginx geo模块进行精准投放用户类的行为

举例1··
geo $geo {
default 0;
192.168.1.159 1;
192.168.1.128 2;
}
server {
listen 80;
server_name localhost;
root /usr/local/kafka/html;
if ($geo = 1) {
rewrite ^ http://new.nginxs.net;
}
if ($geo = 2) {
rewrite ^ http://www.nginxs.net;
}
描述:geo模块会把
192.168.1.159·· $geo=1最终跳转到new.nginxs.net
192.168.1.128·· $geo=2最终跳转到www.nginxs.net
其它的都是default $geo=0最终默认的正常访问

根据geo的··
语法: geo [$address] $variable { ... }
作用··: http
描述指定变量的值的依赖在客户端IP地址。默认情况下,地址是取··$ remote_addr变量,

介绍
geo是nginx的地域模块, 管理人员可以通过用户的ip信息查询到地理位置,再根据地理位置提供更好的服务··

举例1··

    geo  $geo {
            default 0;
            192.168.1.159 1;
            192.168.1.128 2;
    }
        server {
            listen       80;
            server_name  localhost;
            root /usr/local/kafka/html;
            if ($geo = 1) {
                    rewrite ^ http://new.nginxs.net;
            }
            if ($geo = 2) {
                    rewrite ^ http://www.nginxs.net;
            }

描述:geo模块会把
192.168.1.159·· $geo=1最终跳转到new.nginxs.net
192.168.1.128·· $geo=2最终跳转到www.nginxs.net
其它的都是default $geo=0最终默认的正常访问

根据geo的··
语法: geo [$address] $variable { ... }
作用··: http
描述指定变量的值的依赖在客户端IP地址。默认情况下,地址是取··$ remote_addr变量,

举例2··

geo根据地域负载

    http{
    updtream BJ {
            server 10.10.1.10:8080;
        }
    updtream SH {
            server 10.10.2.10:8080;
        }
    updtream GZ {
            server 10.10.3.10:8080;
        }
    updtream LO {
            server 10.10.4.10:8080;
        }

    geo $country {
        default        BJ;     # $country的默认值BJ
        include        conf/geo.conf;   #包含conf/geo.conf配置
        delete         127.0.0.0/16;       #删除指定网络
        proxy          192.168.100.0/24;   
        proxy          2001:0db8::/32;

        127.0.0.0/24  SH;           #设置 $country=SH
        127.0.0.1/32   GZ;           #设置 $country=GZ
        10.1.0.0/16    BJ;           #设置 $country=BJ
        192.168.1.0/24 LO;           #设置 $country=LO
    }


    location / {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://$country;
    access_log log/new.nginx.net.log main;
    }
    }

根据不同区域的用户访问不同服务器进行负载

range的用··

geoip_country  /usr/local/nginx-new/GeoIP.dat;      #读取IP位置··
geoip_city     /usr/local/nginx-new/GeoLiteCity.dat;
    geo $country {
        ranges;
        default                   ZZ;
        127.0.0.0-127.0.0.0       US;
        127.0.0.1-127.0.0.1       RU;
        127.0.0.1-127.0.0.255     US;
        10.1.0.0-10.1.255.255     RU;
        192.168.1.0-192.168.1.255 UK;
         }

nginx教程

第一·· nginx安装基本引导和进程信号

02-nginx IO模型

03-nginx负载均衡

04-nginx的root和alias区别

05-nginx limit_req和limit_conn_zone

06-nginx访问控制“限制ip”,“限制用户名”

09-nginx geo区域访问控制