本节探讨 SGD Gateway 的体系结构,并介绍有关通过 SGD Gateway 访问 SGD 时建立的连接。
图 A.1 “SGD Gateway 体系结构”显示了 SGD Gateway 的体系结构。
以下步骤介绍了通过 SGD Gateway 访问 SGD 时建立的连接。这些步骤包含使用浏览器与 SGD 建立初始连接、登录 SGD,直至启动应用程序。
客户端设备上的浏览器在 TCP 端口 443 上与 SGD Gateway 建立安全套接字层上的 HTTP (HTTP over Secure Sockets Layer, HTTPS) 连接。
对于基本部署,用户可以通过转至 SGD Gateway 的 URL 来访问 SGD。
TCP 端口 443 是 SGD Gateway 的默认端口。SGD Gateway 使用的端口是使用路由代理配置文件 gateway.xml
定义的。此文件在安装 SGD Gateway 期间自动创建,并在使用 gateway config 命令更改 SGD Gateway 配置时进行更新。
SGD Gateway 提供 SSL 证书。该证书是 SGD Gateway 上 keystore.client
密钥库中的唯一一个条目。
SGD Gateway 使用的密钥库的位置和密码是在路由代理配置文件 gateway.xml
中定义的。
路由代理识别 HTTPS 连接,解密数据流,并将 HTTP 数据转发到 Apache 反向代理。
HTTP 数据在内部通过 TCP 端口 8080 以上的第一个空闲端口发送。
Apache 反向代理的配置是由 httpd.conf
文件定义的。该文件和相关反向代理配置文件在安装 SGD Gateway 期间自动创建。该文件在使用 gateway config 命令更改 SGD Gateway 配置时进行更新。
反向代理使用 HTTP 负载平衡在阵列中选择 SGD Web 服务器。
使用 HTTPS 在 TCP 端口 443 上建立反向代理和 SGD Web 服务器之间的连接,该连接安全可靠。
Apache 反向代理在浏览器中设置负载平衡 cookie。浏览器的所有后续 HTTP 请求都将使用同一个 SGD Web 服务器。
SGD Web 服务器将 HTML 传输到客户端设备上的浏览器。
该 HTML 作为 HTTPS 数据通过在 SGD Gateway 的 TCP 端口 443 上建立的连接发送。
SGD Gateway 将 HTTPS 数据转发到浏览器。
用户登录到 SGD。
SGD 服务器验证用户,选择 SGD 服务器来管理用户会话,并启动新的用户会话。
在客户端设备上下载、安装并启动 SGD Client。
在发送到浏览器的 HTML 中包含一个路由令牌。该路由令牌包含选择用于管理用户会话的 SGD 服务器的地址。此信息用于将自适应 Internet 协议 (Adaptive Internet Protocol, AIP) 数据路由到正确的 SGD 服务器。
在 SGD 服务器上使用 SGD 服务器的私钥对该路由令牌签名,然后使用 SGD Gateway 证书对其加密。
该路由令牌传送到 SGD Client。
到客户端设备的连接使用 HTTPS。
SGD Client 在 TCP 端口 443 上与 SGD Gateway 建立连接。
SGD Client 和 SGD Gateway 之间的数据连接使用安全套接字层 (Secure Sockets Layer, SSL) 上的 AIP。
为此连接提供 SGD Gateway 的 SSL 证书。
路由代理识别传入的 SSL 上的 AIP 数据。
SSL 数据流被解密,并从 AIP 数据流提取路由令牌。
使用 SGD Gateway 私钥解密路由令牌,然后使用 SGD 服务器的 CA 证书进行验证。
SGD Gateway 私钥和 SGD 服务器的 CA 证书存储在 SGD Gateway 密钥库 keystore
中。
对路由令牌上的时间戳进行检查,以确保路由令牌有效。
AIP 数据流使用 SSL 进行重新加密。
SSL 上的 AIP 数据通过路由代理路由到路由令牌指示的 SGD 服务器。
SSL 上的 AIP 数据连接使用 TCP 端口 5307。
该路由令牌不包含在 AIP 数据流中。
用户在 SGD Webtop 上启动应用程序。
该应用程序启动请求通过 HTTPS 发送到 SGD Gateway。
路由代理识别并解密 HTTPS 数据,并将 HTTP 通信转发到 Apache 反向代理。
该反向代理检测负载平衡 cookie,并使用该 cookie 指示的 SGD Web 服务器。
SGD 应用程序会话负载平衡选择同一个 SGD 服务器来管理应用程序会话。
在 SGD 服务器上创建一个新的路由令牌。该路由令牌用于将 AIP 数据路由到选择用于管理应用程序会话的 SGD 服务器。
SGD 服务器将路由令牌发送到 SGD Client。该路由令牌包含在现有 AIP 数据流中。
SGD Client 在 TCP 端口 443 上与 SGD Gateway 建立连接。
为此连接提供 SGD Gateway 的 SSL 证书。
路由代理识别传入的 SSL 上的 AIP 数据。
对路由令牌进行解密、检验和验证。
SSL 上的 AIP 数据通过路由代理路由到路由令牌指示的 SGD 服务器。
该路由令牌不包含在 AIP 数据流中。
SGD 服务器管理应用程序会话。
该应用程序在位于局域网 (local area network, LAN) 中的应用程序服务器上运行。