当前位置:论坛首页 > Linux面板 > 讨论

分享个添加了geoip的nginx

发表在 Linux面板2018-1-24 14:56 [复制链接] 4 4884

本帖最后由 Pigod 于 2018-1-24 14:59 编辑

服务器上经常又一些外国ip乱扫,因为我运营的网站是纯中文站,完全就是给国人自己看的,干脆就屏蔽掉外国ip。nginx配合geoip模块效率还是很高的。所以就想给nginx加个geoip模块。看了下才发现宝塔安装软件不管是极速模式还是编译模式,参数都是固定的。

自己编译了个nginx,只添加了geoip模块,其他参数都跟宝塔官方的一样

具体参数如下:
# /www/server/nginx/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2m  2 Nov 2017
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-http_geoip_module --with-ld-opt=-Wl,-E


使用说明:1、直接替换nginx文件就可以(记得备份)
2、下载 http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
3、解压放到你想放的位置去
4、nginx配置文件添加 geoip_country /www/server/panel/vhost/nginx/GeoIP.dat(改成你的GeoIP.dat文件的位置);
5、网站配置文件或者伪静态配置里添加:
#屏蔽非大陆ip访问
if ($geoip_country_code != CN ) {  
return 403;
}
#屏蔽非大陆ip访问


这个只是根据我个人的需求的配置,所有非中国大陆ip都直接屏蔽掉,如果有别的需求自行更改即可





nginx

13.32 MB, 下载次数: 13401

添加geoip模块的nginx

使用道具 举报 只看该作者 回复
发表于 2019-1-8 23:51:40 | 显示全部楼层
这个怎么替换?是直接把/www/server下的nginx目录替换吗?
使用道具 举报 回复 支持 反对
发表于 2019-1-10 16:21:00 | 显示全部楼层
lyrical 发表于 2019-1-8 23:51
这个怎么替换?是直接把/www/server下的nginx目录替换吗?

nginx就一个文件而已,不是目录。宝塔里边路径是/www/server/nginx/sbin/nginx
目前这个已经是旧版本,有需要新版可自行编译
使用道具 举报 回复 支持 反对
发表于 2019-1-10 20:55:52 | 显示全部楼层
Pigod 发表于 2019-1-10 16:21
nginx就一个文件而已,不是目录。宝塔里边路径是/www/server/nginx/sbin/nginx
目前这个已经是旧版本,有 ...

请问一下新版本的geoip2 应该如何应用呢
使用道具 举报 回复 支持 反对
发表于 2019-1-10 23:16:47 | 显示全部楼层
lyrical 发表于 2019-1-10 20:55
请问一下新版本的geoip2 应该如何应用呢

geoip2有相应得模块ngx_http_geoip2_module
可参考:https://github.com/leev/ngx_http_geoip2_module
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表