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

Nginx如何配置正则仅匹配文件名过滤长度超255字节的请求

Nginx 过滤超长文件名配置修正方案

原有规则失效原因

你之前写的规则存在核心问题:正则中使用.匹配任意字符,包含路径分隔符/,会把前面的目录层级字符全部计入长度统计。你担心的查询字符串计入长度的问题其实不存在,Nginx的location匹配默认仅作用于$uri变量,该变量已经自动剔除了?之后的所有查询参数,不会被统计到长度中。

修正后配置

直接修改location正则即可满足需求:

location ~* /[^/]{256,}$ {
    deny all;
}

正则逻辑说明

  • / 匹配路径的最后一个分隔符
  • [^/]{256,} 匹配256个及以上的非/字符,也就是路径的最后一段(实际文件名部分)
  • $ 匹配路径结尾,确保只匹配最后一段的文件名,不会统计前面的目录层级

该规则只会拦截文件名长度超过255字节的请求,不会误拦目录名较长、或者查询字符串较长的正常请求,完全匹配你的业务需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:24:04