在AEM as a Cloud Service中修复客户端域路由问题
当调度程序场配置错误时,Adobe Experience Manager as a Cloud Service (AEMaaCS)中的客户端域路由失败,导致请求默认为错误的场。 要解决此问题,请验证Dispatcher设置,更新虚拟主机别名,重命名场文件以修复排序,查看客户端标头,并验证CDN设置以正确进行域映射。
描述 description
环境
Adobe Experience Manager as a Cloud Service (AEMaaCS) — 站点和生产环境,使用Akamai CDN和域证书以及多个自定义域。
问题/症状
- Dispatcher日志显示警告,例如: 没有场与主机“localhost”匹配,选择的最后一个场“publishfarm”。
- Dispatcher配置似乎可以按反字母顺序优先处理已启用的场。
enabled_vhosts和enabled_farms目录中的文件缺少符号链接。- 虚拟主机配置中不存在某些必需的服务器别名,如
localhost、127.0.0.1。
解决方法 resolution
要解决此问题,请执行以下步骤:
-
验证Dispatcher配置:
- 在本地使用Dispatcher验证工具来识别当前配置中的任何错误或警告。
- 确保
enabled_vhosts和enabled_farms目录中的所有文件都是符号链接。
-
更新虚拟主机配置: 确认虚拟主机条目包括所有必要的服务器别名:
ServerAlias "*example.com" "*.local" "localhost" "127.0.0.1" "*.adobeaemcloud.net" "*.adobeaemcloud.com" -
重命名已启用的场: 从已启用的场文件名中删除数字前缀(例如
00_、01_),因为这样可能会导致在场选择期间出现按字母顺序相反排序的问题。 -
启用调试日志记录: 将Dispatcher日志设置为调试模式,并捕获与场选择或错误发生次数相关的日志片段,以供进一步分析。
-
检查客户端标头规则: 检查硬编码占位符值(如
clientheaders.any)的客户端标头规则(例如default_clientheaders.any和'localhost')。 将它们替换为传入请求的相应映射。 -
在本地测试更改: 在将更改应用于生产之前,在本地Dispatcher实例上部署更新的配置并验证功能。
-
部署更新的配置: 验证后,使用管道工具部署更新的Dispatcher配置。
-
验证CDN设置:
- 确保CDN正确配置为使用客户域名。
- 验证X-Forwarded-Host标头是否设置正确,是否不包含占位符值(如
'localhost')。
-
重新测试域路由: 部署后,测试每个自定义域,确认请求已正确路由到其各自的场。
-
部署后监视日志: 部署后继续监视Dispatcher日志,以识别任何异常或重复出现的问题。