可以将 DMZ 中的 Unified Access Gateway 设备配置为指向一个服务器,或指向一组服务器前面的负载平衡器。Unified Access Gateway 设备可以使用为 HTTPS 配置的标准第三方负载平衡解决方案。

如果 Unified Access Gateway 设备指向服务器前面的负载平衡器,则会动态选择服务器实例。例如,负载平衡器可能会根据可用性以及负载平衡器识别的每个服务器实例上的当前会话数进行选择。位于企业防火墙内部的服务器实例通常具有负载平衡器以支持内部访问。在使用 Unified Access Gateway 时,您可以将 Unified Access Gateway 设备指向通常已使用的该相同负载平衡器。

或者,您也可以将一个或多个 Unified Access Gateway 设备指向单个服务器实例。在这两种方法中,将在 DMZ 中的一个或多个 Unified Access Gateway 设备前面使用负载平衡器。

图 1. 位于负载平衡器后面的多个 Unified Access Gateway 设备

Horizon 协议

Horizon Client 用户连接到 Horizon 环境时,将使用几种不同的协议。第一个连接始终是通过 HTTPS 的主 XML-API 协议。在成功进行身份验证后,还会使用一个或多个辅助协议。
  • Horizon 协议

    用户在 Horizon Client 中输入主机名,这会启动主 Horizon 协议。这是用于身份验证、授权和会话管理的控制协议。该协议通过 HTTPS 使用 XML 结构化消息。该协议有时称为 Horizon XML-API 控制协议。在负载平衡环境中(如“位于负载平衡器后面的多个 Unified Access Gateway 设备”图中所示),负载平衡器将该连接路由到其中的一个 Unified Access Gateway 设备。负载平衡器通常先根据可用性选择设备,然后根据最少当前会话数从可用设备中路由流量。该配置在一组可用的 Unified Access Gateway 设备之间平均分配来自不同客户端的流量。

  • 辅助 Horizon 协议

    Horizon Client 与其中的一个 Unified Access Gateway 设备建立安全通信后,将对用户进行身份验证。如果该身份验证尝试成功,则从 Horizon Client 中建立一个或多个辅助连接。这些辅助连接可能包括:

    • 用于封装 TCP 协议(例如,RDP、MMR/CDR)和客户端框架通道的 HTTPS 隧道。(TCP 443)
    • Blast Extreme 显示协议(TCP 443、TCP 8443、UDP 443 和 UDP 8443)
    • PCoIP 显示协议(TCP 4172、UDP 4172)

必须将这些辅助 Horizon 协议路由到将主 Horizon 协议路由到的同一 Unified Access Gateway 设备。然后,Unified Access Gateway 可以根据经过身份验证的用户会话授权辅助协议。Unified Access Gateway 的一个重要安全功能是,只有在流量是经过身份验证的用户产生的流量时,Unified Access Gateway 才会将流量转发到企业数据中心。如果错误地将辅助协议路由到与主协议设备不同的 Unified Access Gateway 设备,则用户不会授权这些协议并在 DMZ 中丢弃。连接将失败。如果未正确配置负载平衡器,则通常会出现错误地路由辅助协议的问题。

有关 Content Gateway 和隧道代理的负载平衡注意事项

当您对 Content Gateway 和隧道代理使用负载平衡器时,请牢记以下注意事项:
  • 将负载平衡器配置为“发送原始 HTTP 标头”,以避免出现设备连接问题。Content Gateway 和隧道代理使用请求的 HTTP 标头中的信息来对设备进行身份验证。
  • 每应用隧道组件在建立连接后需要对每个客户端进行身份验证。连接后,会为客户端创建一个会话并存储在内存中。然后使用同一个会话处理每一条客户端数据,以便能够使用相同的密钥对这些数据进行加密和解密。设计负载平衡解决方案时,必须将负载平衡器配置为启用基于 IP/会话的持久性。备用解决方案可以是在客户端上使用 DNS 循环,这意味着客户端可以为每个连接选择不同的服务器。

运行状况监控

负载平衡器通过定期发送 HTTPS GET /favicon.ico 请求来监控每个 Unified Access Gateway 设备的运行状况。例如,https://uag1.myco-dmz.com/favicon.ico。此项监控在负载平衡器上进行配置。负载平衡器将执行此 HTTPS GET,并预期从 Unified Access Gateway 获得 "HTTP/1.1 200 OK" 响应,以知晓其运行状况“正常”。如果获得的响应不是 "HTTP/1.1 200 OK" 或者未获得任何响应,负载平衡器会将特定的 Unified Access Gateway 设备标记为已关闭,并且不会尝试将客户端请求路由到该设备。负载平衡器将继续轮询,以便在设备再次可用时可以检测到该设备。

Unified Access Gateway 可以置于“静默”模式,之后它将不会使用 "HTTP/1.1 200 OK" 来响应负载平衡器运行状况监控请求。它而是将使用 "HTTP/1.1 503" 进行响应,以指示 Unified Access Gateway 服务暂时不可用。此设置通常在 Unified Access Gateway 设备的计划维护、计划重新配置或计划升级之前使用。在此模式下,负载平衡器不会将新会话定向到该设备,因为该设备将被标记为不可用,但是它可以允许现有会话继续运行,直到用户断开连接或达到最大会话时间为止。因此,此操作不会中断现有用户会话。在达到整个会话计时器的最大值(通常为 10 小时)后,将可对设备进行维护。此功能可用于通过使服务实现零用户停机时间的策略,对一组 Unified Access Gateway 设备执行滚动升级。