V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
bavtoex
V2EX  ›  NGINX

关于 Nginx 设置拒绝或允许指定 ip 访问的配置问题

  •  
  •   bavtoex · 2020-07-13 23:15:56 +08:00 · 2558 次点击
    这是一个创建于 1613 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器是 nginx 做 web 服务的,有没有全局的配置一次,就可以拒绝一批 ip 和指定 ua 的办法?

    要全局是因为有很多个网站,如果在每个网站的 server 块下引入拒绝 ip 的配置文件,那会不会损失性能?因为单 ip 配置文件都 2m 了.

    因为我在另一服务器上用 apache 可以在主配置文件加一次拒绝 ip 的配置,目录下所有网站都可以生效.想问问 nginx 有没有同样的方法.或者可以在 centos 防火墙上可以设置?

    apache 配置:

    <Directory "/www/wwwroot/">

    SetEnvIfNoCase User-Agent "SemrushBot" badbots

    Order deny,allow

    deny from env=badbots

    deny from 1.1.1.0/23

    ...
    10 条回复    2020-07-21 11:07:08 +08:00
    ik
        1
    ik  
       2020-07-13 23:19:41 +08:00 via iPhone
    deny 1.1.1.0/23;
    bavtoex
        2
    bavtoex  
    OP
       2020-07-13 23:29:16 +08:00
    @ik 非常感谢,可以了,只是不能设置 User-Agent 访问了,手动在每个 sever 配置 User-Agent 规则就没有每个设置 ip 规则那么麻烦了.
    nieqibest
        3
    nieqibest  
       2020-07-13 23:49:54 +08:00 via Android
    为啥不用 iptables
    Nangle
        4
    Nangle  
       2020-07-14 01:03:27 +08:00 via iPhone
    bavtoex
        5
    bavtoex  
    OP
       2020-07-14 01:05:17 +08:00
    @nieqibest 网站套了 cf iptables 不知道为什么没有用了,nginx 有设置 real_ip_header CF-Connecting-IP;
    chinvo
        6
    chinvo  
       2020-07-14 01:26:04 +08:00 via iPhone
    @bavtoex #5 real ip 只对 Nginx 自身有效
    zhouzm
        7
    zhouzm  
       2020-07-14 14:38:38 +08:00
    使用 openresty 代替 nginx,lua 脚本访问 redis 或 mysql 集中控制
    Randall
        8
    Randall  
       2020-07-14 15:19:46 +08:00
    当然可以,然而不建议这么做,业务系统的事情,不要放在 iptables 或 nginx 层面来解决
    monkeyNik
        9
    monkeyNik  
       2020-07-21 11:06:47 +08:00
    @Randall 用动态 location,随便更新,也不影响.
    monkeyNik
        10
    monkeyNik  
       2020-07-21 11:07:08 +08:00
    @monkeyNik nginx.zone
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 18:48 · PVG 02:48 · LAX 10:48 · JFK 13:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.