Nginx geo模块

Posted jackey2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx geo模块相关的知识,希望对你有一定的参考价值。

L79

技术图片

技术图片

 技术图片

 

 

geo 模块默认编译进nginx 可以通过--without-http_geo_module禁用 

Syntax: geo [$address$variable { ... }
Default:
Context: http

 

 

 

 

  1. 1:如果geo指令后不输入$address 那么默认就使用变量$remite_addr作为ip地址
  2. 2:{} 内的指令匹配:优先最长匹配
geo $country {
                default ZZ;
                proxy   116.196.115.53;
                127.0.0.0/24    US;
                127.0.0.1/32    RU;
                10.1.0.0/16     RU;
                192.168.1.0/24  UK;
        }

server {
        listen    80;
        server_name  shop.com.cn

        location /{

                        return 200 $country\\n;
        }
}

 

然后测试该配置 curl -H ‘X-Forwarded-For:192.168.1.123‘ https://shop.com.cn/ 

返回 UK 字符串 因为匹配到了 192.168.1.123 

 

以上是关于Nginx geo模块的主要内容,如果未能解决你的问题,请参考以下文章

Nginx geo ip模块不起作用,找不到调试方法

nginx 模块

Nginx:--HTTP模块(其他语法与指令)

Nginx:--HTTP模块(其他语法与指令)

15. Nginx Geo

在片段中使用 enableAutoManage()