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中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Nginx配置location+rewrite实现隐性域名配置

《Nginx配置location+rewrite实现隐性域名配置》本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性... 目录1、配置基于根目录的隐性域名(就是nginx反向代理)2、配置基于条件的隐性域名2.1、基于条件

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Nginx如何进行流量按比例转发

《Nginx如何进行流量按比例转发》Nginx可以借助split_clients指令或通过weight参数以及Lua脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧... 目录方式一:借助split_clients指令1. 配置split_clients2. 配置后端服务器组3. 配

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协