根据它的ISP阻止请求?

时间:2017-03-03 09:39:31

标签: http nginx server ip

我想知道是否可以根据ISP阻止请求?如果是,那我怎么能实现呢?我知道如果我知道ISP分配给的IP地址范围,我可以阻止请求。有没有办法知道这些IP地址?

1 个答案:

答案 0 :(得分:0)

您可以使用内置的geoip模块实现这一目标。

nginx -V

寻找--with-http_geoip_module

然后您将获得一个数据库并将其解压缩到/etc/nginx

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz

现在将以下内容添加到nginx.conf

geoip_country /etc/nginx/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
CN no;
}

这个例子允许任何人,但不允许中国。现在在适当的位置激活它:

 if ($allowed_country = no) {
     return 443;
 }

现在这也适用于isp,你只需要获得合适的数据库。