ChsHttpGeoModule
(Redirected from NginxChsHttpGeoModule)
Contents |
[edit] 摘要
这个模块创建一些变量,其值依赖于客户端的IP地址.
示例配置:
geo $geo { default 0; 127.0.0.1/32 2; 192.168.1.0/24 1; 10.1.0.0/16 1; }
[edit] 指令
[edit] geo
语法: geo [$ip_variable] $variable { ... }
默认值: none
语境: http
这个指令指定了一个客户端IP的所属国家,默认情况下它会查找$remote_addr变量,但在0.7.27版 本以后可以手工指定。
geo $arg_remote_addr $geo { ...; }
使用CIDR地址格式,另外,有4个特殊的参数:
示例说明:
- delete – 删除指定的网络 (0.7.23).
- default - the value of variable, if the client address does not correspond to any assigned address. It is possible so to write instead of default 0.0.0.0/0.
- include - text file with addresses and values information. Several files can be inluded like this.
- proxy - specifies the address of proxy server (0.8.7+). NEED MORE DESCRIPTION...
- ranges – specifies that the addresses specified are in the form of ranges (0.7.23). This directive must be the first.
In the file conf/geo.conf:
10.2.0.0/16 ru; 192.168.2.0/24 ru;
The value will be the the one with maximum agreement. For example, the IP address 127.0.0.1 will get the value "ru", but not "us".
Example with ranges:
geo $country { ranges; default no; 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; }









