当CDN源覆盖仅适用于根路径时,客户端库请求在AEM as a Cloud Service中返回421
在AEMaaCS中,客户管理的CDN可正确提供主页,但在将源覆盖仅应用于根路径时,会为客户端库请求返回421错误。 当CDN未在所有路径上发送所需的主机和SNI值,因此请求(如/etc.clientlibs/...)不再匹配预期的TLS证书路由时,会发生这种情况。 即使根URL似乎有效,结果也会导致请求错误定向。 将CDN源覆盖应用于所有必需的路径,然后使用curl和x-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错误,请执行以下步骤:
- 查看客户管理的CDN配置,以了解来源、主机和SNI覆盖。
- 更新规则,使所需的覆盖适用于必须通过AEMaaCS提供的所有路径,而不只是根路径。
- 检查资产路径(如
/etc.clientlibs/...),并确认它们包含在相同的路由规则集中。 - 检查规则排序和优先级,以防止较窄的根路径规则阻止覆盖资产请求。
- 使用
curl重新测试受影响的CSS或JavaScript文件路径,并确认它们不再返回421。 - 在浏览器中打开该站点,然后验证客户端库是否正确加载,以及页面是否在不丢失样式或脚本的情况下呈现。
- 如果直接发布端点也失败,或者在更正CDN路径规则后421响应继续运行,请联系Adobe支持,并为受影响的路径提供
curl -sv输出和CDN规则配置。
相关阅读
- AEM as a Cloud Service中的CDN
- 在CDN上配置流量
- Cloud 5 AEM CDN Part2
recommendation-more-help
experience-cloud-kcs-help-kbarticles