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

IIS 10.0访问短URL返回414.0 URL Too Long错误求解决

排查与解决步骤

  • 检查HTTP.sys内核级URL限制
    你配置的FRT没有生成日志,说明请求在进入IIS用户态处理管道之前就被内核层的HTTP.sys拦截返回了414,这部分配置不读取站点web.config,需要修改系统注册表:
    打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters,新增两个DWORD值:
    • MaxUrlLength:十进制值设为65535,支持最大64KB的URL长度
    • UrlSegmentMaxLength:十进制值设为4096,默认值为260,若URL的任意一段路径超过260字符就会被拦截,哪怕整体URL长度很短
      修改完成后执行命令 net stop http && net start http,再执行 iisreset 重启IIS生效。
  • 检查静态文件处理程序专属配置
    你之前修改的httpRuntime节点配置默认仅作用于ASP.NET托管请求(例如aspx页面走的托管处理程序),js/css/txt这类静态文件默认走IIS原生的StaticFileModule,不受httpRuntime配置约束:
    打开IIS管理器,找到对应站点→处理程序映射→找到StaticFile处理程序,右键选择「请求限制」,在「URL」选项卡确认「最大URL长度(字节)」的配置和你web.config里的requestLimits配置一致,没有额外的路径限制。
  • 确认UNC共享路径的规则限制
    你的站点物理路径用的是SMB共享的Azure文件存储路径,IIS访问UNC路径时会自动拼接虚拟路径生成完整的访问路径,可能触发额外的路径限制:
    可以临时把测试js文件放到站点本地磁盘根目录,用短路径访问测试,如果访问正常,说明是UNC路径映射的限制,需要开启系统长路径支持:定位到注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,把LongPathsEnabled的DWORD值设为1,重启服务器生效。
  • 排查前置中间件篡改请求
    确认你的请求是否经过WAF、CDN、反向代理等中间服务,部分中间服务会给静态资源请求自动追加超长的查询参数(如缓存标识、跟踪参数),实际到达服务器的URL远长于你本地测试的URL,可以在服务器上用Wireshark抓包,确认实际收到的请求URL完整内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:21:03