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
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

阅读更多
文章标签: nginx GeoIP
个人分类: nginx GeoIP
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

nginx配置GeoIP

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭