***********************************************************************
1:
nginx -V
***********************************************************************
2:
下载与现有版本相同的nginx包,并解压
***********************************************************************
3:
安装GEOIP模块
yum -y install geoip-devel
***********************************************************************
4:
安装依赖包
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
yum -y install libxslt-devel libxml2 libxml2-dev gd-devel redhat-rpm-config perl-devel perl-ExtUtils-Embed gperftools
./configure 原模块 --with-http_geoip_module
***********************************************************************
5:
make && make install
***********************************************************************
6:
http增加
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default no;
CN yes;
PH yes;
}
Server增加
if ($allowed_country = no) {
return 404;
}
***********************************************************************
7:
或者
geoip_country /usr/share/GeoIP/GeoIP.dat;
fastcgi_param COUNTRY_CODE "$geoip_country_code";
fastcgi_param HTTP_COUNTRY_CODE "$geoip_country_code";
if ($geoip_country_code ~* (US|CN)) {
return 404;
}
***********************************************************************
8:
封锁地区加白某些IP
http处添加
geoip_country /usr/share/GeoIP/GeoIP.dat;
geo $remote_addr $ip_whitelist {
default 0;
include ip.conf;
}
Server处添加
if ($ip_whitelist = 1) {
proxy_pass http://web;
break;
}
#屏蔽的国家返回403
if ($geoip_country_code ~ "(HK|TW|PH|MO|US)") {
return 403;
}
proxy_pass http://web;
}
***********************************************************************