对CSRF令牌和自定义servlet端点的请求在AEMaaCS中返回404错误

当CDN边缘身份验证在边缘阻止这些路径时,对CSRF令牌和自定义servlet端点的请求在Adobe Experience Manager as a Cloud Service (AEMaaCS)发布实例上失败,出现404错误。 要解决此问题,请配置CDN规则以绕过这些端点的身份验证。

描述 description

环境

  • 产品: Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • 方案:通过CDN将环境请求发布到系统端点

问题/症状

  • /libs/granite/csrf/token.json的请求在发布环境中返回​ 404 ​错误。
  • 自定义servlet端点(如/bin下的端点)仅在发布时返回​ 404 ​错误。
  • 同样的请求在本地环境和创作实例上成功且没有错误。
  • Dispatcher过滤器已正确配置为允许这些端点,这表示在请求到达Dispatcher或发布层之前出现问题。

解决方法 resolution

请按照以下步骤解决问题:

  1. 查看CDN配置并识别适用于系统端点的任何边缘身份验证规则,包括/libs/granite/csrf/token.json以及/bin下的自定义servlet路径。
  2. 更新受影响环境的CDN规则以使边缘身份验证不适用于这些端点,并为CSRF令牌路径和所需的servlet路由显式配置旁路。
  3. 按照标准验证和批准流程,通过Cloud Manager交付管道部署更新的CDN配置,并确保将更改成功应用于目标环境。
  4. 通过完整传递链测试从外部客户端对/libs/granite/csrf/token.json和受影响的自定义servlet端点的访问权限。
  5. 验证终结点现在是否返回HTTP 200​响应和预期负载,而不是​ 404 ​错误。

注意:如果通过调整CDN规则来解决问题,则通常不需要更改AEM权限。 在更改访问控制之前,请始终验证您的安全和治理策略。

相关阅读

  • AEM as a Cloud Service用户指南中的CDN
  • AEM as a Cloud Service教程中的CSRF保护
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f