Nginx 配置GeoIP2 禁止访问,并允许添加白名单过滤访问设置
配置环境:Centos 7.6 + Tengine 2.3.2
GeoIP2 下载地址:https://dev.maxmind.com/geoip/geoip2/geolite2/
1. Nginx HTTP 块配置,此区块只做配置列表,并无限制条约,置如下
geoip2 /usr/local/nginx/GeoIP/GeoLite2-Country.mmdb { $geoip2_data_country_code country iso_code; } #允许本地网段访问 geo $allow-ip{ default no; 192.168.10.0/24 } #配置地区访问 map $geoip2_data_country_code $allowed_country { default no; CN yes; }
2. server 块主要启用上属所定义的配置限制要求,配置如下;
此配置在location 前面,也可以配置在localtion 里面,经测试如自定义403 404 异常返回页面,将放置到localtion 里面自定义页面才可生效;
#自定义403 404 返回页面 error_page 403 404 /403.html; location = /403.html { root /var/www/; } location / { #本地网段白名单 if ($allow-ip = yes ) { set $allowed_country yes; } #国家地区白名单 if ($allowed_country = no) { return 403; } proxy_pass http://huangting_web; include conf.d/proxy.conf; }
3. 备注:个人所在配置时启用SSL , 配置文件与nginx.conf 使用include 外部调用,所有在nginx -t 测试提示ssl on 的配置异常,重启使用时测试正常
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· .NET 依赖注入中的 Captive Dependency