AEM Cloud和AMS环境中的CDN域重定向和路由问题
当域无法正确映射或由于不支持的配置或缺少先决条件导致重定向失败时,Adobe Experience Manager (AEM)会遇到域重定向和路由问题。 发生这种情况的原因是,重定向行为取决于执行层(如CDN、Dispatcher或AEM),以及缺乏通配符域支持和所需的SSL配置等限制。 要解决此问题,请确定正确的重定向机制,并根据AEM运行时配置域注册、SSL和重定向规则。
描述 description
环境
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Adobe Managed Services (AMS)
- Adobe Experience Manager (AEM)内部部署
问题/症状
- 域始终解析为站点根目录而不是目标页面。
- 由于错误的主机标头行为,重定向会导致无限循环。
- 由于域未在Cloud Manager中注册,因此不会触发重定向。
- 无法添加通配符子域(
*.example.com),通信失败。 - 由于配置语法无效,CDN管道部署失败。
根本原因
重定向行为取决于执行重定向的位置,如CDN、Dispatcher或AEM。 AEM as a Cloud Service需要明确的域注册和有效的SSL证书才能进行CDN处理。 不支持通配符域映射,并且重定向规则或主机标头配置不正确会导致失败或循环。
解决方法 resolution
请按照以下步骤配置正确的基于域的重定向和路由行为:
- 确定重定向是在AEM处理请求之前还是到达AEM之后必须发生,以确定正确的执行层。
- 在AEM as a Cloud Service中,使用CDN重定向进行域到路径路由。
- 对Adobe Managed Services或内部部署环境使用Dispatcher或Apache重写规则。
- 如果相关要求涉及AEM不支持的动态通配符子域,请使用外部重定向服务。
- 在使用Edge Delivery Services时,请将基于CDN的重定向用于主机级路由,因为应用程序层仅支持完全匹配的路径。
用于AEM as a Cloud Service (AEMaaCS)的
- 打开Cloud Manager,导航到环境,并访问 域管理 以添加重定向所需的所有域。
- 为每个域(包括非www域)上载并配置有效的SSL证书。
- 验证每个域是否显示具有有效证书的活动状态。
- 在存储库根目录中创建或更新
cdn.yaml文件以定义重定向规则。 - 使用基于主机的条件定义重定向规则,该条件具有所需的状态代码和目标路径或URL。
- 运行Cloud Manager配置管道以部署CDN规则并验证部署是否成功完成。
- 通过查看管道日志并更正规则结构,修复配置文件中的任何语法错误。
- 在适用的情况下,使用支持的匹配条件配置基于模式的重定向。
- 避免在CDN规则中使用通配符主机名,因为它们不受支持。
用于Adobe Managed Services (AMS)或内部部署的
- 在Dispatcher或Apache配置文件中添加重写规则,以实施域级重定向。
- 为每个域或子域配置虚拟主机条目以启用正确的路由。
- 将每个域或子域映射到相应的AEM站点根目录。
- 验证虚拟主机配置是否允许正确的域解析和优先顺序。
用于Edge Delivery Services (EDS)的
仅在应用程序级别为完全匹配的路径配置重定向,并在CDN层处理基于主机的重定向。
验证:
- 使用curl等工具运行HTTP请求,并验证响应是否包含正确的重定向状态和位置标头。
- 检查CDN日志或部署结果,以确认重定向规则正确执行。
- 通过确保在请求间主机和转发的主机行为一致,验证不发生重定向循环。
何时上报:
- 实施正确的重定向机制后,重定向行为与预期的逻辑不匹配。
- 由于未解决的验证或语法错误,CDN配置部署失败。
- 尽管注册正确,并且拥有有效的SSL证书,域仍无法路由。
- 由于主机标头不一致,重定向循环会持续存在。
- 无法使用支持的AEM功能实现通配符或动态域路由要求。
相关阅读
- AEMaaCS CDN配置
- AEM域映射
- Dispatcher配置
- AEM as a Cloud Service中的CDN
- AEM as a Cloud Service发行说明(2023.11.0)
recommendation-more-help
experience-cloud-kcs-help-kbarticles