文档首页> Web应用防火墙 WAF> 常见问题> 业务中断排查> 如何处理接入WAF后报错414 Request-URI Too Large?
更新时间:2022-09-14 GMT+08:00
分享

如何处理接入WAF后报错414 Request-URI Too Large?

故障现象

防护网站接入WAF后,用户不能正常访问网站,提示“414 Request-URI Too Large”错误,如图1所示。

图1 提示“414 Request-URI Too Large”错误

可能原因

防护网站开启了“JS脚本反爬虫”,由于用户的客户端浏览器没有JavaScript解析能力,客户端会缓存包含WAF返回JavaScript代码的页面,而用户每次访问防护网站时都会访问该缓存页面,WAF由此判定用户访问请求为非法的浏览器或爬虫工具,访问请求验证一直失败,造成无限循环,最终导致URI长度超出浏览器限制,访问网站失败。

开启JS脚本反爬虫后,当客户端发送请求时,WAF会返回一段JavaScript代码到客户端。如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求到WAF,即WAF完成JS验证,并将该请求转发给源站,如图2所示。

图2 JS脚本反爬虫正常检测流程
  • 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求到WAF,即WAF无法完成js验证。
  • 如果客户端爬虫伪造了WAF的认证请求,发送到WAF时,WAF将拦截该请求,js验证失败。

处理建议

当客户端的浏览器没有JavaScript解析能力时,请参照以下操作步骤关闭JS脚本反爬虫。

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择安全与合规 > Web应用防火墙 WAF
  4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  5. (旧版)在目标域名所在行的“防护策略”栏中,单击“配置防护策略”,进入“防护策略”页面。
  6. (新版)在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。

    图3 域名列表

  7. “网站反爬虫”配置框中,单击“BOT设置”,进入网站反爬虫规则配置页面。

    图4 网站反爬虫配置框

  8. 选择“JS脚本反爬虫”页签,关闭JS脚本反爬虫,即JS脚本反爬虫的“状态”,如图5所示。

    图5 关闭JS脚本反爬虫

分享:

业务中断排查 所有常见问题

more

close