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