栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx+geoip2实现地区限制

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx+geoip2实现地区限制

1.geoip2编译环境

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel geoip-devel

2.下载geoip2模块

ngx_http_geoip2_module-master.zip

3.nginx重新编译添加geoip2模块

查看原编译参数

nginx -V

到nginx编译安装目录下 复制原编译参数 并添加新增模块geoip2路径

./configure --prefix=/usr/local/nginx --add-module=path/to/you-path

编译        #不要make install 不然会重新安装

make

进入objs文件夹复制nginx启动文件至/usr/local/nginx/sbin/nginx

cd objs/

cp objs/nginx /usr/local/nginx/sbin/nginx

重新创建快捷命令

cp /usr/local/nginx/sbin/nginx /usr/sbin/nginx

###

查看模块是否添加成功使用 /usr/local/nginx/sbin/nginx -V

[root@iZuf647yf0hxjhgxbt7wuiZ sbin]# nginx -V

nginx version: nginx/1.18.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

configure arguments: --prefix=/usr/local/nginx    --add-module=path/to/you-path

4.配置nginx配置文件添加geoip2数据库

nginx.conf配置文件

http {

  geoip2 /usr/share/GeoIP/GeoCountry.mmdb {

        $geoip2_country_code country iso_code;

    }

  geoip2 /usr/share/GeoIP/GeoCity.mmdb {

        $geoip2_city_names location time_zone;

    }

  map $geoip2_country_code $allowed_country_test {

        default no;

        RU yes;

    }

server {

        listen       80;

        server_name  localhost;

        add_header country $geoip2_country_code;

        if ( $allowed_country_test = no ) { return 403; }

        location / {

        root   html;

        index  index.html test.htm;

 }

}

5.平滑重启nginx

nginx -s reload

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号