L79
geo 模块默认编译进nginx 可以通过--without-http_geo_module禁用
Syntax: | geo [ |
---|---|
Default: | — |
Context: | http |
- 1:如果geo指令后不输入$address 那么默认就使用变量$remite_addr作为ip地址
- 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