打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为Apache增加GeoIP模块

为Apache增加GeoIP模块

1. 安装GeoIP模块(需要提前配置好EPEL软件仓库
  1. # yum -y install mod_geoip
复制代码

2. mod_geoip配置
  1. # cat /etc/httpd/conf.d/mod_geoip.conf
  2. LoadModule geoip_module modules/mod_geoip.so
  3. <IfModule mod_geoip.c>
  4.   GeoIPEnable On
  5.   GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
  6. </IfModule>
复制代码

这个配置文件无需做修改,不过可以通过以下链接下载最新的数据库:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

3. 安装完毕之后需要重载配置文件方能生效
  1. # service httpd reload
复制代码


4. 可以通过PHP脚本来检测模块是否生效
  1. <?php
  2. echo 'Your IP address is ' . $_SERVER['REMOTE_ADDR'] . '<br />';
  3. echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_NAME'] . '<br />';
  4. echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_CODE'] . '<br />';
  5. echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_CODE3'] . '<br />';
复制代码


5. 阻止指定国家的IP(黑名单)
  1. SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
  2. SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
  3. Deny from env=BlockCountry
  4. # 额外允许IP
  5. Allow from 10.1.2.3
复制代码

6. 阻止指定国家的IP(白名单)
  1. SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
  2. SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
  3. SetEnvIf GEOIP_COUNTRY_CODE MX AllowCountry
  4. Deny from all
  5. Allow from env=AllowCountry
  6. #额外允许IP
  7. Allow from 10.1.2.3
复制代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP 使用 GeoIP 进行不同国家 ip 测试
利用Nginx加GeoIP MaxMind数据库获取用户的地理位置
Wireshark使用技巧-GeoIP显示IP地理位置
AWStats 安装其它参考
IP地址查询接口及调用方法 | 设计蜂巢
java根据ip获取经纬度城市地址
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服