用户无法从 Workspace ONE 应用程序或门户中启动负载平衡的 VMware Identity Manager 部署中的应用程序。

问题

如果未正确确定应用程序的客户端 IP 地址,用户将无法从 Workspace ONE 门户或应用程序中启动应用程序。如果 X-Forwarded-For (XFF) 标头包含不正确的 IP 地址,则可能会在负载平衡的 VMware Identity Manager 部署中出现该问题。

检查仪表板中的“审核事件”启动报告,以确认正确解析了客户端 IP 地址。如果未正确解析该地址,请按照该过程解决该问题。

解决方案

要解决该问题,请先使用 clientipresolutioninfo REST API 获取 XFF 标头中列出的 IP 地址列表,然后检查响应。如果它返回负载平衡器或 VMware Identity Manager 服务节点的 IP 地址,请在 runtime-config.properties 文件中设置 service.ipsToIgnoreInXffHeader 属性以筛选出不需要的 IP 地址。

要获取 XFF 标头中的 IP 地址列表,请在以租户管理员身份登录到 VMware Identity Manager 服务时使用 REST 客户端(如 Postman)运行以下 REST API:

方法:GET

路径:/clientipresolutioninfo

授权: HZN cookie_value
注: 您可以按租户管理员身份登录到 VMware Identity Manager 服务,然后访问浏览器的 Cookie 缓存以获取 HZN Cookie 值。

响应介质类型:application/vnd.vmware.horizon.manager.clientipresolutionconfig+json

示例 JSON 响应:

{
“xffHeaderIpList":["10.112.68.252”], // the IPs part of XFF header
"numberOfLoadBalancers”:0, // number of load balancers configured in runtime-config.properties
"configuredIpToIgnoreList":"10.112.68.255”, // the list of ips or subnets to ignore as configured in runtime-config.properties
"clientIpDetermined":"10.112.68.252”, // the client IP determined to be used finally for login/access policy
"_links":{}
}

从输出中,确定不需要的 IP 地址,然后编辑 runtime-config.properties 文件以筛选出这些地址。

  1. 登录到 VMware Identity Manager 服务器。
  2. 编辑 INSTALL_DIR\usr\local\horizon\conf\runtime-config.properties 文件并添加以下属性:

    service.ipsToIgnoreInXffHeader IPsToIgnore

    其中,IPsToIgnore 是要在 XFF 标头中忽略的逗号分隔 IP 地址列表。

  3. 重新启动 VMware IDM 服务。