当CDN源覆盖仅适用于根路径时,客户端库请求在AEM as a Cloud Service中返回421

在AEMaaCS中,客户管理的CDN可正确提供主页,但在将源覆盖仅应用于根路径时,会为客户端库请求返回421错误。 当CDN未在所有路径上发送所需的主机和SNI值,因此请求(如/etc.clientlibs/...)不再匹配预期的TLS证书路由时,会发生这种情况。 即使根URL似乎有效,结果也会导致请求错误定向。 将CDN源覆盖应用于所有必需的路径,然后使用curlx-aem-debug验证受影响的资产请求。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service
  • 客户管理的CDN

问题/症状

  • 站点根目录已加载,但/etc.clientlibs/...下的客户端库文件失败。
  • 请求返回421 Misdirected Request
  • 响应包含类似于Requested host does not match any Subject Alternative Names (SANs) on TLS certificate的消息。
  • 即使主页面显示为可访问,CSS或JavaScript文件仍无法加载。

原因

客户管理的CDN没有将正确的原点、主机或SNI覆盖应用于必须转发到AEM as a Cloud Service的所有路径。 当覆盖仅限于根路径时,对诸如/etc.clientlibs/...之类的资产的请求将转发到不正确的路由值,Fastly将以421响应拒绝这些请求。

解决方法 resolution

要解决CDN源覆盖仅适用于根路径时客户端库请求的421错误,请执行以下步骤:

  1. 查看客户管理的CDN配置,以了解来源、主机和SNI覆盖。
  2. 更新规则,使所需的覆盖适用于必须通过AEMaaCS提供的所有路径,而不只是根路径。
  3. 检查资产路径(如/etc.clientlibs/...),并确认它们包含在相同的路由规则集中。
  4. 检查规则排序和优先级,以防止较窄的根路径规则阻止覆盖资产请求。
  5. 使用curl重新测试受影响的CSS或JavaScript文件路径,并确认它们不再返回421
  6. 在浏览器中打开该站点,然后验证客户端库是否正确加载,以及页面是否在不丢失样式或脚本的情况下呈现。
  7. 如果直接发布端点也失败,或者在更正CDN路径规则后421响应继续运行,请联系Adobe支持,并为受影响的路径提供curl -sv输出和CDN规则配置。

相关阅读

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