Dispatcher筛选规则阻止请求导致404或阻止的错误
应访问应用程序的请求有时被Dispatcher筛选规则阻止,从而导致 404响应 或阻止的请求错误。 要解决此问题,请更新筛选器规则并重新部署配置。
描述 description
环境
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- 内部部署
- 基于Dispatcher的缓存和筛选设置
问题/症状
- 针对有效资源的 HTTP 404 响应
- 在Dispatcher日志中标记为 已阻止 的请求
- Servlet端点在一个环境中返回错误,但在另一个环境中工作
- 无法访问标准路径之外的静态资产
- 无法加载资源演绎版
- 尽管存在资源,但仍出现意外的请求失败
根本原因
Dispatcher强制实施默认拒绝规则阻止所有流量的模型,除非明确允许。 缺少允许规则、规则排序不正确、配置格式错误或模式匹配不正确可能会阻止传递有效请求。 缓存的响应可能会隐藏问题,使其更难识别。
如何确认
- 重现问题并捕获完整的请求URL
- 检查Dispatcher日志中是否有阻止的请求条目
- 确定阻止请求的特定筛选规则编号
- 查看筛选器配置文件以验证是否允许请求路径
解决方法 resolution
要解决此问题:
- 确定失败的准确请求URL,包括参数和选择器。
- 检查Dispatcher日志以查找阻止的条目并记下规则编号。
- 查看筛选器配置文件以查找拒绝和允许规则。
- 确定是否应允许请求路径。
- 添加或更正与请求路径和方法匹配的显式允许规则。
- 请确保该规则排序正确,以便在deny-all规则之后应用。
- 重新部署或重新加载Dispatcher配置以应用更改。
- 验证请求是否成功,并且不会引入意外访问。
相关阅读
recommendation-more-help
experience-cloud-kcs-help-kbarticles