双跳 DMZ 部署中的通信流

Last published : Oct 14, 2026
要了解双跳 DMZ 部署中涉及的配置问题,您必须对双跳 DMZ 部署中各种 NetScaler Gateway 和 Citrix Virtual Apps 组件如何通信以支持用户连接有基本的了解。
用户连接到 StoreFront™ 的过程以连续流的形式发生。此过程涉及以下高级步骤。
  • 验证用户
  • 创建会话票证
  • 启动 Citrix Workspace 应用程序
  • 完成连接
下图显示了用户连接到 StoreFront 过程中发生的步骤。在安全网络中,运行 Citrix Virtual Apps™ 的计算机也运行安全票证颁发机构 (STA)、XML 服务和已发布的应用程序。
双跳 DMZ 中的连接过程

连接过程

验证用户是双跳 DMZ 部署中用户连接过程的第一步。
下图显示了此部署中的用户连接过程。
双跳 DMZ 中的用户身份验证过程
在用户身份验证阶段,会发生以下基本过程:
  1. 用户在 Web 浏览器中键入 NetScaler Gateway 的地址(例如 <https://www.ng.wxyco.com>)以连接到第一个 DMZ 中的 NetScaler Gateway。如果您在 NetScaler Gateway 上启用了登录页面身份验证,则 NetScaler Gateway 会对用户进行身份验证。
  2. 第一层DMZ中的NetScaler Gateway接收请求。
  3. NetScaler Gateway 将 Web 浏览器连接重定向到 StoreFront。
  4. StoreFront 将用户凭据发送到内部网络中服务器场中运行的 Citrix® XML 服务。
  5. Citrix XML 服务对用户进行身份验证。
  6. XML 服务创建用户有权访问的已发布应用程序列表,并将此列表发送到 StoreFront。
    注意:
    • 如果您在 NetScaler Gateway 上启用身份验证,设备会将 NetScaler Gateway 登录页面发送给用户。用户在登录页面上输入身份验证凭据,设备对用户进行身份验证。然后,NetScaler Gateway 将用户凭据返回到 StoreFront。
    • 如果您未启用身份验证,NetScaler Gateway 不会执行身份验证。设备连接到 StoreFront,检索 StoreFront 登录页面,并将 StoreFront 登录页面发送给用户。用户在 StoreFront 登录页面上输入身份验证凭据,NetScaler Gateway 将用户凭据传回 StoreFront。
    创建会话票证是双跳 DMZ 部署中用户连接过程的第二阶段。
    在会话票证创建阶段,会发生以下基本过程:
  7. StoreFront 与内部网络中的 XML 服务和安全票证颁发机构 (STA) 进行通信,为用户有权访问的每个已发布应用程序生成会话票证。会话票证包含运行托管已发布应用程序的 Citrix Virtual Apps 的计算机的别名地址。
  8. STA 保存托管已发布应用程序的服务器的 IP 地址。然后,STA 将请求的会话票证发送到 StoreFront。每个会话票证都包含一个别名,该别名表示托管已发布应用程序的服务器的 IP 地址,但不是实际的 IP 地址。
  9. StoreFront 为每个已发布应用程序生成一个 ICA® 文件。ICA 文件包含由 STA 颁发的票证。然后,StoreFront 创建一个网页,其中包含指向已发布应用程序的链接列表,并将此网页发送到用户设备上的 Web 浏览器。
    启动 Citrix Workspace 应用程序是双跳 DMZ 部署中用户连接过程的第三阶段。基本过程如下:
  10. 用户单击 StoreFront 中已发布应用程序的链接。StoreFront 将该已发布应用程序的 ICA 文件发送到用户设备的浏览器。
    ICA 文件包含指示 Web 浏览器启动 Receiver 的数据。
    ICA 文件还包含第一个 DMZ 中 NetScaler Gateway 的完全限定域名 (FQDN) 或域名系统 (DNS) 名称。
  11. Web 浏览器启动 Receiver,用户使用 ICA 文件中的 NetScaler Gateway 名称连接到第一个 DMZ 中的 NetScaler Gateway。进行初始 SSL/TLS 握手以建立运行 NetScaler Gateway 的服务器的身份。
    完成连接是双跳 DMZ 部署中用户连接过程的第四个也是最后一个阶段。
    在连接完成阶段,会发生以下基本过程:
    • 用户单击 StoreFront 中已发布应用程序的链接。
    • Web 浏览器接收 StoreFront 生成的 ICA 文件并启动 Citrix Workspace 应用程序。 注意:ICA 文件包含指示 Web 浏览器启动 Citrix Workspace 应用程序的代码。
    • Citrix Workspace 应用程序启动与第一个 DMZ 中 NetScaler Gateway 的 ICA 连接。
    • 第一个 DMZ 中的 NetScaler Gateway 与内部网络中的安全票证颁发机构 (STA) 通信,以将会话票证中的别名地址解析为运行 Citrix Virtual Apps 或 StoreFront 的计算机的真实 IP 地址。此通信通过第二个 DMZ 由 NetScaler Gateway 代理进行代理。
    • 第一个 DMZ 中的 NetScaler Gateway 完成与 Citrix Workspace 应用程序的 ICA 连接。
    • Citrix Workspace 应用程序现在可以通过两个 NetScaler Gateway 设备与内部网络上运行 Citrix Virtual Apps 的计算机进行通信。
    完成用户连接过程的详细步骤如下:
  12. Citrix Workspace 应用程序将已发布应用程序的 STA 票证发送到第一个 DMZ 中的 NetScaler Gateway。
  13. 第一个 DMZ 中的 NetScaler Gateway 联系内部网络中的 STA 进行票证验证。为了联系 STA,NetScaler Gateway 与第二个 DMZ 中的 NetScaler Gateway 代理建立 SOCKS 或带 SSL 的 SOCKS 连接。
  14. 第二个 DMZ 中的 NetScaler Gateway 代理将票证验证请求传递给内部网络中的 STA。STA 验证票证并将其映射到托管已发布应用程序的运行 Citrix Virtual Apps 的计算机。
  15. STA 将响应发送到第二层 DMZ 中的 NetScaler Gateway 代理,该响应随后传递到第一层 DMZ 中的 NetScaler Gateway。此响应完成票证验证,并包含托管已发布应用程序的计算机的 IP 地址。
  16. 第一层 DMZ 中的 NetScaler Gateway 将 Citrix Virtual Apps 服务器的地址合并到用户连接数据包中,并将此数据包发送到第二层 DMZ 中的 NetScaler Gateway 代理。
  17. 第二层 DMZ 中的 NetScaler Gateway 代理向连接数据包中指定的服务器发出连接请求。
  18. 服务器响应第二层 DMZ 中的 NetScaler Gateway 代理。第二层 DMZ 中的 NetScaler Gateway 代理将此响应传递到第一层 DMZ 中的 NetScaler Gateway,以完成服务器与第一层 DMZ 中的 NetScaler Gateway 之间的连接。
  19. 第一层 DMZ 中的 NetScaler Gateway 通过将最终连接数据包传递给用户设备,完成与用户设备的 SSL/TLS 握手。用户设备与服务器之间的连接已建立。
  20. ICA 流量在用户设备和服务器之间流动,通过第一层 DMZ 中的 NetScaler Gateway 和第二层 DMZ 中的 NetScaler Gateway 代理。