本帖最后由 乐橙306 于 2016-4-8 14:47 编辑
- 参考文档
- http://www.nginx.cn/doc/optional/geoip.html
- http://www.tuicool.com/articles/6femi2
- http://ju.outofmemory.cn/entry/16264
- 此模块非核心模块,用于获取ip对应的国家和城市信息,然后针对地区做访问控制
- 需要在编译的时候手动添加编译参数 --with-http_geoip_module
- __配置示例__
- http {
- geoip_country /var/GeoIP/GeoIP.dat;
- geoip_city /var/GeoIP/GeoLiteCity.dat;
- log_format nginx_log '$remote_addr"[$time_local]"$request"$status"$body_bytes_sent"'
- '$http_referer"$http_user_agent"$http_x_forwarded_for"'
- '$request_time"$upstream_addr"$host"$request_body'
- '$geoip_country_name $geoip_region $geoip_city' ;
- .
- .
- .
- .
- cd /var/GeoIP
- #下载免费的geo_city数据库
- wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz && gunzip GeoLiteCity.dat.gz
- #下载免费的geo_coundty数据库
- wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz && gunzip GeoIP.dat.gz
- 查看访问日志
- [root@niaoyun-101 logs]# cat access.log | tail -1
- 116.231.156.251"[08/Apr/2016:14:26:41 +0800]"GET /1.htm HTTP/1.1"200"36510"-"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.150.400 QQBrowser/9.3.7082.400"-"0.037"-"118.192.147.101"-China 23 Shanghai
- [root@niaoyun-101 logs]#
- 当源ip为湖北 则自动访问hubei目录;当源ip为上海,则自动访问shanghai目录
- location /{
- if ($geoip_city = Hubei) {
- root /opt/nginx/html/hubei;
- }
- if ($geoip_region = “23” ) {
- root /opt/nginx/html/shanghai;
- }
- }
编辑回复