Dispatcher筛选规则阻止请求导致404或阻止的错误

应访问应用程序的请求有时被Dispatcher筛选规则阻止,从而导致​ 404响应 ​或阻止的请求错误。 要解决此问题,请更新筛选器规则并重新部署配置。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • 内部部署
  • 基于Dispatcher的缓存和筛选设置

问题/症状

  • 针对有效资源的​ HTTP 404 ​响应
  • 在Dispatcher日志中标记为​ 已阻止 ​的请求
  • Servlet端点在一个环境中返回错误,但在另一个环境中工作
  • 无法访问标准路径之外的静态资产
  • 无法加载资源演绎版
  • 尽管存在资源,但仍出现意外的请求失败

根本原因

Dispatcher强制实施默认拒绝规则阻止所有流量的模型,除非明确允许。 缺少允许规则、规则排序不正确、配置格式错误或模式匹配不正确可能会阻止传递有效请求。 缓存的响应可能会隐藏问题,使其更难识别。

如何确认

  • 重现问题并捕获完整的请求URL
  • 检查Dispatcher日志中是否有阻止的请求条目
  • 确定阻止请求的特定筛选规则编号
  • 查看筛选器配置文件以验证是否允许请求路径

解决方法 resolution

要解决此问题:

  1. 确定失败的准确请求URL,包括参数和选择器。
  2. 检查Dispatcher日志以查找阻止的条目并记下规则编号。
  3. 查看筛选器配置文件以查找拒绝和允许规则。
  4. 确定是否应允许请求路径。
  5. 添加或更正与请求路径和方法匹配的显式允许规则。
  6. 请确保该规则排序正确,以便在deny-all规则之后应用。
  7. 重新部署或重新加载Dispatcher配置以应用更改。
  8. 验证请求是否成功,并且不会引入意外访问。

相关阅读

recommendation-more-help
experience-cloud-kcs-help-kbarticles