使用Citrix安全浏览器延长遗留Web应用程序的寿命
在web应用程序和框架的世界中,必须拥抱多样性。不同类型的用户、组和公司需要访问正确的工具、应用程序和权限来连接到支持web的业务应用程序。在大多数情况下,遵循性因素决定了如何访问这些应用程序。需要支持较老的子系统和较老的浏览器框架的业务面临着一项艰巨的任务,即为业务关键应用程序提供足够的访问并满足遵从性需求。下面的文档描述了在创建更新和迁移策略时,如何利用Citrix Secure Browser来延长遗留web应用程序和浏览器的访问和寿命。
该解决方案需要发布兼容的浏览器,允许外部或内部用户访问,而不管用户如何连接或他们使用的浏览器连接到内部站点。该方案采用XenDesktop Server操作系统VDA、StoreFront、NetScaler Gateway和XenApp安全浏览器。当本机浏览器满足it管理员设置的所有需求时,用户将兼容的浏览器或端点重定向到使用本机浏览器;如果策略检测到不兼容的浏览器或端点,则将用户重定向到远程的容器发布的浏览器会话。无论用户如何连接到环境,每个资源只需要知道一个URL(这减少了培训和支持成本)。
体系结构
下一节解释用户如何访问内部站点,而不管用户是从内部网络还是外部网络连接。在该场景中,一种浏览器类型(Internet Explorer)是兼容的浏览器,另一种(谷歌Chrome)是不兼容的。由每个公司决定如何以及哪些浏览器映射到遵从性策略。
对于这个解决方案,我们假设NetScaler Gateway被配置为对发布的应用程序的外部访问,这在图1中表示为Gateway vServer 1。第二个虚拟服务器(Gateway vServer 2)重定向用户,为安全浏览器启动HTML5 Receiver会话。
用例
有必要维护当前浏览器不再支持的遗留web应用程序。在这种情况下,IT部门仍然需要维护为Internet Explorer 8设计的网站,而供应商不再发布支持新浏览器或其他浏览器的增强功能。为了解决此问题,IT管理员发布安全浏览器,允许符合浏览器要求的用户访问站点。下图为内部和外部用户解释了工作流中的每个连接。
连通性的工作流
- 每个用户都输入从外部DNS服务器解析的站点URL,在我们的示例中,
https://train.qckr.net
- 浏览器连接NetScaler Gateway负载均衡器,并判断是否符合需求。
- 当浏览器不兼容时,内部和外部用户都会重定向到NetScaler Gateway虚拟服务器。在浏览器兼容的情况下,NetScaler Gateway通过负载均衡器为外部用户代理到内部站点的连接,并为内部用户重定向本地浏览器到站点。
- 虚拟服务器自动启动由StoreFront枚举的会话。
- StoreFront联系XenDesktop Controller获取会话信息和路由。
- 会话通过安全浏览器桌面组发起;在本例中,它是一个带有发布的兼容浏览器的服务器OS VDA。
- 会话通过NetScaler Gateway设备上的ICA Proxy进行连接。
- 用于HTML5的Citrix Receiver在本机浏览器中建立用户会话。
- 内部站点通过使用HTML5的Citrix Receiver的安全浏览器会话出现。
设置和配置
本节展示如何实现针对当前使用NetScaler Gateway远程连接的XenDesktop环境的解决方案。
解决方案需求
安装过程中需要安装和配置以下组件:
- XenDesktop Desktop Controller服务器
- Citrix StoreFront服务器,其Store配置用于外部访问
- NetScaler网关和XenDesktop虚拟服务器
- 服务器操作系统VDA,使用安装的浏览器作为安全浏览器
- 指向新的NetScaler负载均衡器的外部DNS地址
- 指向新的NetScaler网关虚拟服务器的外部DNS地址
配置
XenDesktop桌面控制器
将Server OS VDA添加到名为安全浏览器目录.
创建交付组安全浏览器目录并发布ie浏览器。在命令行参数中,键入-k <内部站点>的URL.参数-k用于以Kiosk模式打开Internet Explorer。在本例中,我们发布Internet Explorer 8,并使用内部站点作为URL。
您可以将交付组分配给特定的用户和组。如果用例不需要桌面访问,则不需要添加桌面访问。
在Server OS VDA上,安装服务器或客户端身份验证证书,以启用Controller上的SSL和VDA通信。
安装XenDesktop 7.6或以上版本的安装介质。打开PowerShell命令窗口,然后运行% MediaDrive %: \ \ \ SslSupport \ Enable-VdaSSL工具的支持。ps1启用
重新启动Server OS VDA实例。
在XenDesktop Controller上,打开PowerShell命令窗口并运行该命令ASNP Citrix *.
运行以下三个命令启用代理与VDA的安全通信:
Get-BrokerAccessPolicyRule -DesktopGroupName '安全浏览器桌面组' | Set-BrokerAccessPolicyRule -HdxSslEnabled $true*
Set-BrokerSite -DnsResolutionEnabled $true
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true*
店面
创建一个名为SecureBrowser并选择只允许未经身份验证的用户访问此存储.由于所有用户都将令牌从NetScaler Gateway传递到控制器,因此流量需要进行身份验证。
添加XenDesktop Controller。
启用远程访问并添加第二个NetScaler Gateway,您将在以下步骤中配置它。对于此配置,您不需要使用回调或VIP地址在StoreFront / NetScaler Gateway配置中。
使用向导默认设置完成存储的创建。
创建存储后,单击管理网站的接收者.
在管理网站的接收者页面,点击配置,去网站的快捷方式,添加内部网站的URL,然后单击得到快捷键链接。
作为普通用户登录,访问已发布的安全浏览器应用程序。
复制安全浏览器应用程序的URL,并将其保存在一个文本文件中,以便稍后在NetScaler Gateway配置中使用。
回到编辑网站的接收器属性,单击Deploy Citrix Receiver并选择始终使用Receiver进行HTML5。选择的选项在与用于Web的Receiver相同的选项卡中启动应用程序.
点击工作区控件,在退出操作中,选择终止.明确的选项使工作空间控制.
点击客户端接口设置,清除选项汽车启动桌面并点击好吧保存设置。
在文本编辑器中,打开文件C:\inetpub\wwwroot\Citrix\SecureBrowserWeb\web.config。
找到设置< appShortcuts promptForUntrustedShortcuts = " true " >,设置为假并保存更改。禁用此设置可防止StoreFront询问用户是否愿意启动应用程序。
NetScaler网关
在“NetScaler Gateway”GUI管理界面的导航区中,单击XenApp和XenDeskto然后在P上指示板,点击创建新的网关.
在StoreFront属性中,设置网站的路径到“/Citrix/SecureBrowserWeb”目录下设置商店名字SecureBrowser作为StoreFront服务器中的新商店。
继续向导并保存新的虚拟服务器。
在NetScaler网关节点,扩大政策去会话.
选择行动选项卡,编辑为第二个虚拟服务器新创建的操作,然后编辑AC_WB_政策行动。
在发布应用程序标签,粘贴应用快捷键URL你之前保存的Web接口地址字段,然后单击好吧.
在导航窗格中,单击AppExpert节点,扩大应答器部分,然后单击行动.
添加一个新的行动的名字,内部连接,并设置类型为重定向.
在表达式字段中,添加要连接的内部站点的URL,并加引号,例如https://mysite.acme.com
点击创建保存操作。
添加一个新动作,命名它外部连接,并设置类型为重定向.
在表达式字段,添加第二个NetScaler网关虚拟服务器的URL,并用引号括起来,例如https://gateway.acme.com
点击创建保存操作。
去回答者的政策节点。
添加一个新策略,命名它检测浏览器兼容性,在行动下拉,选择外部连接您先前创建的操作。
集Undefined-Result行动来无操作.
在表达式字段,添加以下文本:
HTTP.REQ.HEADER(“用户代理”).CONTAINS(“AppleWebKit”) | HTTP.REQ.HEADER(“用户代理”).CONTAINS(“铬”) | HTTP.REQ.HEADER(“用户代理”).CONTAINS(“火狐”) |
上面的表达式检测不兼容的浏览器,或者在这个用例中不检测Internet Explorer。
点击创建以保存更改。
添加一个新策略,命名它检测客户端源,设置行动来内部连接行动之前创建。
集Undefined-Result行动来无操作.
在Expression字段中,添加以下文本:
(CLIENT.IP.SRC.IN_SUBNET (172.17.0.0/23) | CLIENT.IP.SRC.IN_SUBNET (192.168.52.0/24)) & & HTTP.REQ.HEADER .CONTAINS(“用户代理”)(“三叉戟”) |
替换或添加上面的每个子网以匹配您的内部网络环境。在本例中,用户代理与配置的ie版本匹配,并且客户端是从内部网络连接的。
点击创建以保存更改。
在导航窗格中展开流量管理>负载均衡,然后选择服务器.添加用于托管内部站点的服务器。
2 .在导航栏中,单击服务团体下负载平衡ydF4y2BaG,添加新的服务组,设置协议来SSL并绑定服务器创建的服务小组成员列表。
点击完成.
2 .在导航栏中,单击虚拟服务器在负载平衡节点,点击添加然后给服务器命名内部网站点.
设置协议来SSL,输入负载均衡器的IP地址。
绑定服务组内部Web服务器在上一步中创建,并配置用于外部访问的证书。将内部根CA证书与CA证书绑定,以便负载均衡器将SSL卸载到内部web服务器。
在详细信息窗格中,输入高级设置,点击+政策.单击加号(+)以绑定一个新策略。
选择选择策略的响应器并点击继续.选择检测客户端源并将优先级设置为100。
点击绑定.
点击应答器政策部分,单击添加绑定中,选择检测浏览器兼容性并设置优先级为110.点击绑定.
点击关闭然后点击完成.
保存NetScaler Gateway配置。
用例结果和期望
本节回顾每个用户如何连接到前面的配置的用例和预期结果。在以下所有用例中,用户打开一个本地安装的浏览器并输入培训站点的外部URL。
浏览器不兼容的外部用户
预期结果:用户在浏览器选项卡中启动Citrix Receiver会话,该选项卡使用发布的安全浏览器呈现站点。
具有兼容浏览器的外部用户
预期结果:NetScaler Gateway代理本地浏览器和内部网站之间的流量。
浏览器不兼容的内部用户
预期结果:用户在浏览器选项卡中启动Citrix Receiver会话,使用发布的安全浏览器呈现站点。
使用兼容浏览器的内部用户
预期结果:用户会话重定向到内部站点;NetScaler Gateway不代理连接,因为客户端是从内部网络连接的。
已知的限制
- 动态URL传递到NetScaler网关虚拟服务器不支持使用Citrix Receiver for HTML5 for Secure Browser。
- 要向虚拟服务器传递启动URL,请在会话配置文件中禁用ICA Proxy。ICA代理是针对HTML5的Citrix Receiver的一个需求。
- Citrix Receiver for HTML5不支持内容重定向。
- 管理员可以在StoreFront中为网站配置Citrix Receiver。
- 具有多个独立站点的环境,为每个站点创建不同的NetScaler Gateway会话策略,并将它们绑定到虚拟服务器,或者创建可以托管内部站点url的内部启动门户。