nginx应用geoip模块,实现不同地区访问不同页面的需求(实践版)
https://www.52os.net/articles/configure-nginx-using-geoip-allow-whitelist.html? ? ? ?搞了幾天沒有搞定,這篇文章一下子解決了問題,點(diǎn)贊
?記得nginx編譯時(shí)一定要加載geoip這個(gè)模塊
?https://blog.csdn.net/beyond__devil/article/details/52838422? ?地區(qū)代碼表
?
主配置文件geoip模塊的配置如下:
geoip_country /usr/local/nginx/conf/GeoIP/GeoIP.dat;
geoip_city /usr/local/nginx/conf/GeoIP/GeoLiteCity.dat;
geo $remote_addr $ip_whitelist {
default 0;
include ip.conf;
}
map $geoip_city $allow_city {
default no;
Jinhua yes;
#Beijing yes;
Shanghai yes;
Guangzhou yes;
Chongqing yes;
Shandong yes;
}
?
?
我的vhost目錄下的a.conf配置如下
server {
listen 80;
server_name jiaji.com;
access_log /home/nginx/beijing.log;
location / {
root /var/www/web/ABBEIJING/xiqing;
index index.html index.htm index.php;
if ( $geoip_region = "22" ) {? ? ? ?##這里的22是北京地區(qū)
root /var/www/web/ABBEIJING/laohushenhe;
}
if ($allow_city = yes) {
root /var/www/web/ABBEIJING/xiqing;
}
}
}
?
?
另一個(gè)運(yùn)用geoip的站點(diǎn),需求:默認(rèn)訪問/var/www/web/hongb目錄,北上廣深重慶訪問/var/www/web/zhi目錄,在允許城市列表(nginx.conf文件里指定的允許城市列表)的城市也是訪問/var/www/web/hongb目錄
server {
listen 80;
server_name hongb.com;
location / {
root /var/www/web/hongb;
index index.html index.htm index.php;
if ( $geoip_region = "22" ) { ##這里的22是北京地區(qū)
root /var/www/web/zhi;
}
if ( $geoip_region = "23" ) { ##這里的23是上海地區(qū)
root /var/www/web/jzhi;
}
if ( $geoip_region = "30" ) { ##這里的30是廣東地區(qū)
root /var/www/web/jzhi;
}
if ( $geoip_region = "32" ) { ##這里的32是四川地區(qū)
root /var/www/web/jzhi;
}
if ($allow_city = yes) {
root /var/www/web/hongb;
}
}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/leon2659/p/9534053.html
總結(jié)
以上是生活随笔為你收集整理的nginx应用geoip模块,实现不同地区访问不同页面的需求(实践版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python_文件操作代码实例
- 下一篇: iview -- vue modal 显