nginx配置GeoIP

由于之前没有接触过服务器,配置这个耗费了我好长时间

nginx 配置GeoIP实现不同国家访问不同的URL


首先要确保nginx已经配置了GeoIP模块,如果没有那就先来配置GeoIP


找到nginx源码目录下进行
/.configure  --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module 
--with-http_gzip_static_module --with-ipv6 --with-http_sub_module 
--with-http_geoip_module


需要什么模块加什么模块,这是我自己需要的


安装 MaxMind 的 GeoIP 库
如果不想这样下载可以https://pan.baidu.com/s/1Vsyl0fmQPd-JQbJZ_A2COA这里下载,密码:evk5
MaxMind 提供了免费的 IP 地域数据库(GeoIP.dat),不过这个数据库文件是二进制的,需要用 GeoIP 库来读取,所以除了要下载 GeoIP.dat 文件外(见下一步),还需要安装能读取这个文件的库。


# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
# tar -zxvf GeoIP.tar.gz
# cd GeoIP-1.4.6
# ./configure
# make; make install


刚才安装的库自动安装到 /usr/local/lib 下,所以这个目录需要加到动态链接配置里面以便运行相关程序的时候能自动绑定到这个 GeoIP 库:


# echo '/usr/local/lib' > /etc/ld.so.conf.d/geoip.conf
# ldconfig


下载 IP 数据库
MaxMind 提供了免费的 IP 地域数据库,这个数据库是二进制的,不能用文本编辑器打开,需要上面的 GeoIP 库来读取:


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


配置 Nginx
最后是配置 nginx,在相关地方加上如下的配置就可以了:


在http{
.....
geoip_country /home/vpsee/GeoIP.dat;(这里注意填写自己的路径)
......
}
#如果IP是中国的就指定次路径
   location / {  
                if ($geoip_country_code = CN)  {
rewrite  ^/  URL地址;
}       
  }
  
  
 如果有报错请参考https://www.52os.net/articles/configure-nginx-using-geoip-allow-whitelist.html

http://www.jb51.net/article/54854.htm
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值