nginx应用geoip模块,实现不同地区访问不同页面的需求(实践版)
https://www.52os.net/articles/configure-nginx-using-geoip-allow-whitelist.html 搞了几天没有搞定,这篇文章一下子解决了问题,点赞
记得nginx编译时一定要加载geoip这个模块
https://blog.csdn.net/beyond__devil/article/details/52838422 地区代码表
主配置文件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是北京地区
root /var/www/web/ABBEIJING/laohushenhe;
}
if ($allow_city = yes) {
root /var/www/web/ABBEIJING/xiqing;
}
}
}
另一个运用geoip的站点,需求:默认访问/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是北京地区
root /var/www/web/zhi;
}
if ( $geoip_region = "23" ) { ##这里的23是上海地区
root /var/www/web/jzhi;
}
if ( $geoip_region = "30" ) { ##这里的30是广东地区
root /var/www/web/jzhi;
}
if ( $geoip_region = "32" ) { ##这里的32是四川地区
root /var/www/web/jzhi;
}
if ($allow_city = yes) {
root /var/www/web/hongb;
}
}
}
转载于:https://www.cnblogs.com/leon2659/p/9534053.html
nginx应用geoip模块,实现不同地区访问不同页面的需求(实践版)相关推荐
- Nginx 和 GeoIP 模块的使用
使用Nginx 和 GeoIP 模块的可以来处理不同地区的访问,也可以处理不同地区访问项目不同的版本(灰度版本或是正常版本) 如果想屏蔽某个地区的 IP 访问的话,用 iptables 把来自某个国家 ...
- nginx使用ssl模块配置支持HTTPS访问
背景: 项目开发中用到了微信小程序,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 XXX.com 要求通过HTTPS: ...
- Nginx通过GeoIP模块获取IP所在地理位置
Geo是geographic的缩写,意思是地理的,GeoIP即为IP地理位置数据库,可以根据IP获得地理位置信息.GeoIP库可以根据IP地址(支持IPv4 和 IPv6), 定位该IP所在的 洲.经 ...
- Nginx根据Pc端和手机端访问不同页面
有的时候一个网站需要区别是pc访问的 还是手机访问的,根据平台的不同让他跳转到不同的入口;可以这样实现: server {### nginx 用来当静态资源的服务器listen 83;server_n ...
- 简单修改nginx的配置,限制指定IP访问指定页面
一个客户的需求,看了很多的教程,实现方式都不一样,现将我自己配置的分享给大家. 1.修改nginx配置文件 (路径/usr/local/openrestry/nginx/conf/nginx.conf ...
- NGINX:nginx精准禁止特定国家或者地区IP访问
转载来源 :NGINX:nginx精准禁止特定国家或者地区IP访问 :http://www.safebase.cn/article-258751-1.html 摘要: 要求:对网站的信息,比如某个访问 ...
- 实践:nginx代理,通过使用GeoIp模块获取访问者IP及访问地区信息
目录 前言 一.在Linux中创建存放nginx模块文件夹 存在就不需要再次创建. 将所有nginx额外模块包都放到这个目录下 二.配置host文件代理,避免访问github太慢(已配置了跳过) 三. ...
- Nginx 附录C 模块编译,调试与测试
Nginx 附录C 模块编译,调试与测试 C.1 编译与安装 环境要求 操作系统:目前Nginx各版本在以下操作系统和平台测试通过: FreeBSD 3 - 10 / i386; FreeBSD 5 ...
- nginx利用ngx_http_geoip2_module模块对国外ip限制
1. 安装必要的环境 yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel ...
最新文章
- C++中虚函数可以是内联函数吗?
- python使用matplotlib可视化线图(line plot)、自定义可视化图像的四个边框的色彩、可以分别设置矩形每一条边的色彩(change the axis color)
- python调用ffmpeg_Python - FFmpeg
- Git笔记(9) 打标签
- python的命名空间_python命名空间(namespace)
- 表单嵌套问题的解决方法
- Windows 8 Consumer Preview
- navicat for MySQL连接本地数据库时报1045错误的解决方法
- 小白教程系列——XMind8 Pro下载安装
- 企业常见的5种经济活动形式用借贷记账法在资产负债表上的体现
- 产品经理:个人能力提升方法
- QuerySet,本质上是一个给定的模型的对象列表
- 外贸七日通 第六日 合作篇 与货代打交道
- EXCEL单元格中提取部分文本
- 啊哈算法, 水管工游戏
- python画人脸代码_[转]7行Python代码的人脸识别
- Nginx启动报错: could not open error log file: open() q unable to find local peer: 192.168.10.102:8848,
- 超声图像散斑去噪方法
- Matlab样条工具箱(Spline ToolBox)与曲线拟合
- 腐蚀rust电脑分辨率调多少_腐蚀RUST怎么提高游戏画质_提高游戏画质方法介绍
热门文章
- 二下语文书电子课本_小学生语文成绩好,不是靠补课,把课本吃透,才是高效学习方法...
- oracle fnd file.log,OracleEBSWIP模块DebugLog收集方法
- hive mysql类型,(二)Hive数据类型、数据定义、数据操作和查询
- 怎么在linux上修改mysql端口映射_如何在Linux中更改默认的MySQL / MariaDB端口
- html中依次展开的搜索框,jQuery+CSS3动画展开收缩搜索框特效
- php ip 短时间 重复,php 限制同一个IP 一段时间不能评论多次,能给我详细解决的...
- mysql撤销用户授权_mysql用户授权及撤销
- 使用python构建三层神经网络、softmax函数
- 基于java SSM springboot动物检疫信息管理系统设计和实现
- c语言补全程序,跪求高手解答简单的程序补全题~!