适用于客户管理的CDN中出现421 TLS SAN不匹配错误的AEM解决方案

当客户管理的CDN、代理或WAF将错误的Host标头或SNI值发送到Adobe Experience Manager as a Cloud Service的Adobe入口域时,可能会出现HTTP 421 TLS SAN不匹配错误。 在许多情况下,请求也会失败,因为所需的转发标头缺失或不完整。 更新源配置以便CDN将Adobe入口域用于Host和SNI,同时转发原始站点域和任何所需的身份验证标头通常可以解决此问题。

描述 description

环境

Adobe Experience Manager as a Cloud Service

问题/症状

当客户管理的CDN、WAF、代理或负载平衡器转发的主机标头或SNI值与AEM发布源的Adobe入口域不匹配时,您可能会看到此问题。

  • 该请求在到达发布层之前失败,并返回HTTP 421重定向错误请求。
  • 响应可以声明请求的主机与证书使用者替换名称不匹配。
  • 在某些基于代理的部署中,您可能会看到一条消息,指示主机与SNI不匹配。
  • 您可以通过比较源请求设置与Adobe入口域并直接测试源来确认问题。 格式正确的请求通常会返回HTTP 200或301,而与主机或SNI值不匹配则可返回HTTP 421。

解决方法 resolution

请尝试以下步骤来解决问题:

  1. 为Cloud Manager中受影响的发布环境识别Adobe入口域,并使用publish-p<program>-e<environment>.adobeaemcloud.com格式的发布域作为原始目标。 这可确保您将请求路由到环境的正确Adobe端点。 通过直接测试入口域并确认格式正确的请求返回HTTP 200或301响应来验证值。
  2. 将您的CDN、代理或WAF配置为使用Adobe入口域作为源SNI值。 这允许TLS握手使用与Adobe入口域匹配的证书。 验证CDN或代理调试输出中的配置,并确认SNI值与Adobe入口域完全匹配。
  3. 将源主机标头设置为相同的Adobe入口域。 这有助于请求匹配Adobe管理的CDN基础架构预期的证书和路由目标。 通过重新测试请求并确认由于主机或证书不匹配,以前的HTTP 421 SAN不匹配错误不再出现,来验证更改。
  4. X-Forwarded-Host标头中转发原始站点域,以便AEM在请求到达源后能够正确解析传入域。 这可确保在面向客户的域中,基于主机的路由可继续按预期工作。 通过确认请求解析到预期的站点或虚拟主机来验证该行为。
  5. 如果您的安装程序使用客户管理的CDN身份验证,请配置并发送为Cloud Manager中的环境定义的X-AEM-Edge-Key值。 这允许Adobe-managed CDN服务将请求识别为可信请求并正确处理转发的标头。 通过确认请求不再因缺少边缘身份验证而失败来验证配置。
  6. 以端对端方式重新测试请求。 如果您使用cURL进行验证,请定位Adobe入口域并包含所需的HostX-Forwarded-Host,如果需要,X-AEM-Edge-Key标头。 预期的结果是该请求返回HTTP 200或301,而不是HTTP 421。 通过确认浏览器和cURL测试现在均可成功路由到预期站点来验证结果。

如果出现以下症状且故障排除步骤产生以下结果,请将票证提交到Adobe支持:

  • HTTP 421在原始域、主机标头和SNI值都与Adobe入口域匹配后继续运行。
  • 转发X-Forwarded-Host后,请求仍然失败,并且如果需要,转发有效的X-AEM-Edge-Key
  • 您的CDN、代理或WAF无法覆盖源请求的主机标头或SNI值。

打开案例,并包含准确的错误文本、受影响的域、Adobe入口域、净化测试结果以及任何相关的CDN调试输出。

相关阅读

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