ip数据库文件下载地址:https://dev.maxmind.com/geoip/geoip2/geolite2/

编译nginx添加第二代geoip2模块,第一代自带 的–with-http_geoip_module 生命周期算是尾声了。ip地址库都下载不到了。

# 下载独立的geoip2模块,官方nginx还未加入

git clone https://github.com/leev/ngx_http_geoip2_module

# 编译nginx加上geoip2

--add-module=../ngx_http_geoip2_module

报错:

./configure: error: the geoip2 module requires the maxminddb library.

解决:需要安装 libmaxminddb 库,这个是用来读取ip数据文件的。

下载 https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz

解压依次执行:

./configure

make

make install

echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf

ldconfig

即可。

重新编译nginx通过。

# 编辑nginx配置文件

http {

# 只提取关键配置参数

geoip2 /usr/local/GeoLite2-Country_20190507/GeoLite2-Country.mmdb {

$geoip2_data_country_code default=CN country iso_code;

}

server {

add_header "country" $geoip2_data_country_code; #添加个响应头,方便查。

location / {

if ($geoip2_data_country_code = CN) {

root /mnt/cn;

}

if ($geoip2_data_country_code != CN) {

root /mnt/other;

}

}

}

}

访问测试,查看响应头中的country字段。

$geoip2_data_country_code 变量是自定义名称的变量,其值是在geoip2解析ip后生成。

default=CN country iso_code 这些参数实际是下面命令返回json的key,default是为了查不到相关key的值时,设置一个默认值。

[root@localhost]# mmdblookup --file GeoLite2-City.mmdb --ip x.x.x.x

专注于 服务器运维与web架构

E-mail:venus#rootop.org

html判断国家,nginx通过geoip2模块实现判断用户来源国家跳转中英站相关推荐

  1. Nginx集成GeoIP2模块实现地区识别与屏蔽

    前文: 最近在研究nginx如何集成geo模块来实现IP自动识别从而进行地区屏蔽的内容.但是度娘N篇文章,发现大家都在转载很久之前的东西.geo1.0官方都不提供下载了,不知道那些小伙伴是怎么实现模块 ...

  2. Nginx Image缩略图模块加强网站运行速度

    Nginx Image缩略图模块加强网站运行速度 在大型网站实际开发当中,大家都会遇到关于图片压缩的处理,传统的方法是自己开发一套图片处理的服务,根据需求生成不同图片.这样是可以解决问题.但是个人感觉 ...

  3. nginx利用ngx_http_geoip2_module模块对国外ip限制

    1. 安装必要的环境 yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel ...

  4. Nginx Image 缩略图 模块

    Nginx Image 缩略图 模块 模块同时支持 Nginx 和 tengine 本nginx模块主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印. 支持自定义字体,文字大小,水印透 ...

  5. Nginx 和 GeoIP 模块的使用

    使用Nginx 和 GeoIP 模块的可以来处理不同地区的访问,也可以处理不同地区访问项目不同的版本(灰度版本或是正常版本) 如果想屏蔽某个地区的 IP 访问的话,用 iptables 把来自某个国家 ...

  6. NGINX的rewrite模块

    NGINX的rewrite模块 4.18 Rewrite 模块 Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perlc ...

  7. 1. nginx扩展——ngx_lua 模块简介、安装

    1. 简介 ​ lua-nginx-module(ngx_lua module)把 Lua5.1 的解释器 或 LuaJIT 2.0/2.1 的解释器嵌入到 nginx 中,将强大的 Lua 线程(L ...

  8. Nginx源码研究之nginx限流模块详解

    这篇文章主要介绍了Nginx源码研究之nginx限流模块详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 高并发系统有三把利器:缓存.降级和限流: 限流的目的是通过对并 ...

  9. Nginx安装echo模块

    echo-nginx-module 模块可以在Nginx中用来输出一些信息,可以用来实现简单接口或者排错. 项目地址:https://github.com/openresty/echo-nginx-m ...

最新文章

  1. C++反汇编-加法分析
  2. python流程控制-Python流程控制常用工具详解
  3. 组件生命周期管理和通信方案
  4. 使用selenium爬取某东的手机商品信息
  5. WeScale 技术篇 —— mpvue 与微信小程序的火花
  6. python optimize_Python的五大常用库——numpy,pandas,matplotlib等
  7. windows linux cpu 抢占式 时间片_阿里技术专家谈:CPU飙高,系统性能问题如何排查?...
  8. matlab在同一窗口中画多个三维图像
  9. Spring Boot入门(5)表单验证
  10. 如何五分钟之后自动锁定计算机,win10五分钟自动锁屏怎么设置_win10定时锁屏设置方法...
  11. 典型计算机控制系统硬件组成框图,计算机控制技术重要.docx
  12. DELL戴尔开启/关闭触摸板方法
  13. 微信小程序——组件库
  14. 软件破解入门教程和解密手册——PE文件格式
  15. Android ID谷歌认证,GSF ID KEY(谷歌服务框架ID)作为Android设备唯一标识符
  16. 互联网公司的“江湖绰号”盘点,你知道几个?
  17. 全屏动态滑稽网站HTML源码
  18. 论文特色自我评价内容结构
  19. 小瘦牛虚拟无线路由器官方版
  20. 汇率兑换——小象学院知识点

热门文章

  1. 【MediaPipe】(2) AI视觉,人体姿态关键点实时跟踪,附python完整代码
  2. Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据
  3. PCL点云分割(2)
  4. 基于SfM计算相机姿态
  5. OneinStack一键部署操作说明
  6. 解决Eclipse添加新server时无法选择Tomcat7的问题
  7. 057 Insert Interval 插入区间
  8. 学习dubbo框架的问题
  9. 【spring 5】AOP:spring中对于AOP的的实现
  10. .net之工作流工程展示及代码分享(二)工作流引擎