微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐