双跳DMZ部署中的通信流程
要理解双跳DMZ部署中涉及的配置问题,您必须基本理解双跳DMZ部署中的各种Citrix Gateway和Citrix Virtual Apps组件如何通信以支持用户连接。StoreFront和Web Interface的连接过程是相同的。
尽管用户连接流程发生在一个连续的流中,但该流程还涉及以下高级步骤。
- 验证用户身份
- 创建会话票据
- 启动Citrix Workspace应用程序
- 完成连接
下图显示了用户连接到StoreFront或Web Interface过程中发生的步骤。在安全网络中,运行Citrix虚拟应用程序的计算机同时也运行安全票据授权(STA)、XML服务和已发布的应用程序。
连接过程
在双跳DMZ部署中,对用户进行身份验证是用户连接过程的第一步。
本次部署的用户连接流程如下图所示。
在用户认证阶段,会发生以下基本过程:
- 用户输入Citrix Gateway地址,例如https://www.ng.wxyco.com在web浏览器中连接到第一个DMZ中的Citrix Gateway。如果您在Citrix Gateway上启用了登录页面身份验证,则Citrix Gateway将对用户进行身份验证。
- 第一个DMZ中的Citrix Gateway接收请求。
- Citrix Gateway将web浏览器连接重定向到web界面。
- Web接口将用户凭据发送到内部网络中服务器场中运行的Citrix XML服务。
- Citrix XML服务验证用户。
XML服务创建用户被授权访问的已发布应用程序的列表,并将该列表发送到Web接口。
注意:
如果在Citrix Gateway上启用身份验证,设备将向用户发送Citrix Gateway登录页面。用户在登录页面上输入身份验证凭证,设备对用户进行身份验证。然后,Citrix Gateway将用户凭据返回到Web接口。
如果不启用身份验证,则Citrix Gateway不进行身份验证。设备连接到Web界面,检索Web界面登录页面,并将Web界面登录页面发送给用户。用户在Web界面登录页面上输入身份验证凭证,Citrix Gateway将用户凭证传递回Web界面。
在双跳DMZ部署中,创建会话票据是用户连接过程的第二个阶段。
在会话票据创建阶段,会发生以下基本过程:
- Web接口与内部网络中的XML服务和安全票证中心(STA)通信,为授权用户访问的每个已发布应用程序生成会话票证。会话票据包含运行Citrix Virtual Apps的计算机的别名地址,该计算机承载已发布的应用程序。
- STA保存托管已发布应用程序的服务器的IP地址。然后STA将请求的会话票据发送到Web接口。每个会话票据都包含一个别名,该别名表示承载已发布应用程序的服务器的IP地址,而不是实际的IP地址。
Web Interface为每个发布的应用程序生成一个ICA文件。ICA文件包含STA签发的票据。然后,Web Interface使用已发布应用程序的链接列表创建并填充一个网页,并将该网页发送到用户设备上的Web浏览器。
启动Citrix Workspace应用程序是双跳DMZ部署中用户连接过程的第三个阶段。基本流程如下:
用户在Web界面中单击到已发布应用程序的链接。Web接口将已发布应用程序的ICA文件发送到用户设备的浏览器。
ICA文件包含指示web浏览器启动Receiver的数据。
ICA文件还包含第一个DMZ中Citrix网关的完全限定域名(FQDN)或域名系统(DNS)名称。
web浏览器启动Receiver,用户使用ICA文件中的Citrix Gateway名称连接到第一个DMZ中的Citrix Gateway。初始SSL/TLS握手是为了建立运行Citrix Gateway的服务器的身份。
在双跳DMZ部署中,完成连接是用户连接过程的第四个阶段,也是最后一个阶段。
在连接完成阶段,会发生以下基本过程:
- 用户在Web界面中单击到已发布应用程序的链接。
- web浏览器接收到web界面生成的ICA文件,并启动Citrix Workspace app。注意:ICA文件中包含指示浏览器启动Citrix Workspace app的代码。
- Citrix Workspace应用程序在第一个DMZ中启动到Citrix Gateway的ICA连接。
- 第一个DMZ中的Citrix网关与内部网络中的安全票据中心(STA)通信,将会话票据中的别名地址解析为运行Citrix Virtual Apps或StoreFront的计算机的真实IP地址。这种通信由Citrix Gateway代理通过第二个DMZ进行代理。
- 第一个DMZ中的Citrix Gateway完成到Citrix Workspace应用程序的ICA连接。
- 思杰工作区应用程序现在可以通过两个思杰网关设备与内部网络上运行思杰虚拟应用程序的计算机通信。
完成用户连接流程的具体步骤如下:
- Citrix Workspace应用程序将已发布应用程序的STA票据发送到第一个DMZ中的Citrix Gateway。
- 第一个DMZ中的Citrix网关与内部网络中的STA联系以进行票据验证。为了与STA联系,Citrix Gateway在第二个DMZ中建立一个或多个带有SSL的SOCKS连接到Citrix Gateway代理。
- 第二个DMZ中的Citrix Gateway代理将票据验证请求传递给内部网络中的STA。STA验证票据并将其映射到运行Citrix Virtual Apps的计算机,该计算机承载了发布的应用程序。
- STA向第二个DMZ中的Citrix Gateway代理发送响应,该响应被传递给第一个DMZ中的Citrix Gateway。该响应完成了票据验证,并包括承载已发布应用程序的计算机的IP地址。
- 第一个DMZ中的Citrix Gateway将Citrix Virtual Apps服务器的地址合并到用户连接数据包中,并将此数据包发送到第二个DMZ中的Citrix Gateway代理。
- 第二个DMZ中的Citrix Gateway代理向连接数据包中指定的服务器发出连接请求。
- 服务器响应第二个DMZ中的Citrix Gateway代理。第二个DMZ中的Citrix Gateway代理将此响应传递给第一个DMZ中的Citrix Gateway,以完成服务器与第一个DMZ中的Citrix Gateway之间的连接。
- 第一个DMZ中的Citrix网关通过将最后一个连接包传递给用户设备来完成与用户设备的SSL/TLS握手。用户设备与服务器建立连接。
- ICA流量通过第一个DMZ中的Citrix Gateway和第二个DMZ中的Citrix Gateway代理在用户设备和服务器之间流动。