修复AEMaaCS中的CDN路由和标头问题

AEMaaCS中的自定义CDN配置失败,原因是源设置不正确、缺少所需的标头或路由规则配置不正确。 AEM始终通过Adobe管理的Fastly路由流量,这需要正确的主机名定位和特定的标头来接受请求。 配置错误导致路由失败、SSL不匹配和错误,如​ 421 ​或​未知域。 修复源配置、标头转发和cdn.yaml路由以解决问题并恢复正确的请求流。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Adobe Developer App Builder

问题/症状

  • 对AEM的请求失败,出现Fastly 421​或​ 未知域 ​错误。
  • 客户CDN无法访问发布端点。
  • 路由失败或SSL不匹配。
  • 出现缓存不一致。
  • 删除或覆盖所需的标头时,基于标头的身份验证失败。

根本原因

AEM as a Cloud Service在到达发布层之前通过Fastly路由所有流量。 来自客户CDN的请求在定位正确的发布主机名时必须包括必需的标头,例如Host、SNI和X-AEM-Edge-Key。 配置缺失或不正确导致Fastly拒绝或错误路由请求。

解决方法 resolution

要解决此问题,请执行以下步骤:

  1. 识别来自Cloud Manager环境的发布主机名,并通过直接在返回​ 403 ​或类似响应的浏览器中加载URL来验证它。 将CDN或WAF源配置为指向精确的发布主机名,并设置主机标头、SNI、协议HTTPS和端口​443,以便SSL握手成功。
  2. 通过配置X-AEM-Edge-KeyX-Forwarded-HostX-Forwarded-Proto和可选X-Forwarded-For将所需的标头从CDN转发到Fastly,以便Fastly将该请求识别为受信任,然后使用日志和curl测试验证标头转发。
  3. 如果需要自定义路由,请在/config下提交Cloud Manager Git存储库中的cdn.yaml文件并添加源选择器规则,然后运行配置管道以确保成功部署。
  4. 使用cdn.yaml请求转换规则配置地理标头插入,以将现有Adobe地理标头(如x-aem-client-countryx-aem-client-continent)映射到自定义标头(如X-Forwarded-CountryX-Forwarded-Region),并通过标头检查来验证转换。
  5. 通过将公共域指向客户CDN并确保CDN依次针对Fastly和AEM来验证DNS流,避免自定义域直接DNS映射到Fastly。
  6. 确认Fastly始终位于客户CDN和AEM之间并且无法移除或绕过,然后通过公共域访问站点并使用浏览器开发人员工具验证路由、标头和缓存行为来执行端到端验证。

相关阅读

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