You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nginx配置中拦截含指定内容的uri参数请求?

Nginx拦截含特定域名的uri参数请求配置方案

完整修改后的配置

location / {
    # 拦截uri参数中包含example.com的请求,直接返回403封禁
    if ($args ~* "uri=.+example\.com") {
        return 403;
    }

    # 原有根据uri参数转发的逻辑
    if ($args ~ "^uri=(.+)") {
        set $key1 $1;
        proxy_pass $key1;
    }
}

关键说明

  • 匹配规则:用~*实现不区分大小写的正则匹配,避免攻击者通过Example.com这类大小写变种绕过封禁;正则里的.要转义为\.,否则会匹配任意字符。
  • 执行顺序:把拦截判断放在转发逻辑之前,确保符合封禁条件的请求直接被拦截,不会进入转发流程。
  • 响应选择:返回403 Forbidden是标准的封禁响应,也可根据需求改为444(直接关闭连接,无响应内容)或其他状态码。

多域名封禁扩展

如果需要同时拦截多个域名,可扩展正则规则:

if ($args ~* "uri=.+(example\.com|test\.org|bad\.net)") {
    return 403;
}

内容的提问来源于stack exchange,提问作者omega1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:25:55