nginx geoip2 根据城市区域 进入相应页面

2023-11-22 23:40

本文主要是介绍nginx geoip2 根据城市区域 进入相应页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.创建目录放之后下载的3个压缩文件

1-1 mkdir /etc/nginx && mkdir /etc/nginx/geoip

1-2 cd /etc/nginx/geoip

2. 3个文件我下载到了本地,然后通过scp 上传至/etc/nginx/geoip目录

2-1 scp libmaxminddb-1.7.1.tar.gz root@ip:/etc/nginx/geoip

2-2 scp ngx_http_geoip2_module-3.4.tar.gz root@ip:/etc/nginx/geoip

2-3 scp GeoLite2-Country_20230912.tar.gz root@ip:/etc/nginx/geoip

libmaxminddb下载地址

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

ngx_http_geoip2_module下载地址

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

GeoLite2-Country_20230912 需要到官网上注册后下载GeoIP2 Web Services | MaxMind

https://www.maxmind.com/en/home

在哪里下载,My Account > Download Databases

3. 解压文件3个文件

3-1 tar -zxvf libmaxminddb-1.7.1.tar.gz

3-2 tar -zxvf ngx_http_geoip2_module-3.4.tar.gz

3-1 tar -zxvf GeoLite2-Country_20230912.tar.gz

4. libmaxminddb-1.7.1需要安装及编译

4-1 cd libmaxminddb-1.7.1/

4-2 ./configure && make && make install 在动态链接库的配置里,加入了库文件的位置

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

//更新/etc/ld.so.cache文件

4-4 -ldconfig

5. 此命令检测模块是否可以使用,根据ip显示当前城市信息

5-1 mmdblookup --file /etc/nginx/geoip/GeoLite2-Country_20230912/GeoLite2-Country.mmdb --ip 8.8.8.8

6. 配置nginx

6-1 先到nginx 可执行 nginx -V 查看现有配置,这个配置需要之后加上--add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4 执行配置 接着到./configure 可执行目录

6-2 ./configure --prefix=/usr/local/nginx --add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4

6-3 执行 make && make install

6-4 再次执行nginx -V 可以看到最后会有这段 --add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4

7. 对nginx.conf修改 头部引入模块

7-1 load_module modules/ngx_http_geoip2_module.so;

8. 变量赋值 country iso_code 赋值给$geoip2_data_country_code

8-1 http内部编写

http {

        geoip2 /etc/nginx/geoip/GeoLite2-Country_20230912/GeoLite2-Country.mmdb {                 $geoip2_data_country_code country iso_code;

        }

}

9. #server 里面。我是在自己服务器上测试的,server根据自己的需求和判断进行逻辑编写

9-1

server {

   if ($geoip2_data_country_code = CN) {

        rewrite ^ http://xxx.xxxl.com/ redirect;

   }

   if ($geoip2_data_country_code != CN) {

        rewrite ^ http://xxx.xxx.com/ redirect;

   }

}

这篇关于nginx geoip2 根据城市区域 进入相应页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/413777

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Java内存区域与内存溢出异常的详细探讨

《Java内存区域与内存溢出异常的详细探讨》:本文主要介绍Java内存区域与内存溢出异常的相关资料,分析异常原因并提供解决策略,如参数调整、代码优化等,帮助开发者排查内存问题,需要的朋友可以参考下... 目录一、引言二、Java 运行时数据区域(一)程序计数器(二)Java 虚拟机栈(三)本地方法栈(四)J

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N