公司自己内部搭建了一套Citrix XenApp7.6,想通过外网进行访问。问题是没有NetScaler的话,StoreFront根本无法开启外部用户访问,更不用提通过信号去判断用户的请求是来自外部还是来自内部,free版本的NetScaler也有--NetScaler VPX Express,该版本限制5Mbps的连接速度。还有一种方法就是见下图,搭配旧版本的Web Interface…本文就简单介绍下Web Interface的设置,因为已经是搭建完成了的环境,我就挑重要的设置进行截图和说明。

clip_p_w_picpath001

首先是已经刚刚安装好的XenApp 7.6,并且已经创建了计算机目录,交付了一个远程桌面mstsc的应用,(就是交付Controller本机的远程桌面应用出去。XA_XD7.6基础的安装发布使用,请参照博客上其他大神的博文)

clip_p_w_picpath002

clip_p_w_picpath003

注意,此时我们的XA_XD7.6环境中是没有安装StoreFront的。

另外安装一台Windows 2008 R2,然后找一张老版本的XenDesktop或者XenAPP的镜像塞进去,只安装Web Access,照常规安装即可(安装web interface的步骤请参考51cto博客里其他大神的博文)。安装完成之后直接添加好站点。注意下图红框处的设置。

XML Service这里选择HTTP与80端口。

clip_p_w_picpath004

然后记得在Controller里面的StoreFront里,添加这台Web Interface的URL

clip_p_w_picpath005

在WI的安全访问里面,注意下图设置。将默认的“直接”访问方法,改成“已转换”,然后添加一条到Controller的直接访问方法(由于我环境里就一台Controller,所以我这里直接填单主机ip,而不是网段。)

clip_p_w_picpath006

单击下一步,老样子,添加外部地址或者主机名到Controller的映射,1494、2598、80等三个端口。

clip_p_w_picpath007

clip_p_w_picpath008

然后在防火墙上映射这三个端口,由于我这里80端口已经映射给了公司的官网。

所以我在Web Interface上将网站默认端口绑给4443,并且是SSL绑给4443,如果你的环境里不需要改端口,那就可以忽略这一步。直接在防火墙上映射常规的三个端口。

如图:其中4443,也就是常规步骤里的80端口,映射给WebInterface,1494和2598映射给Controller。

clip_p_w_picpath009

然后在外网进行测试。可以正常打开Citrix页面,由于我这里更换过端口,所以网址后面跟上了:4443,打开发布的应用测试一下。

clip_p_w_picpath010

clip_p_w_picpath011

clip_p_w_picpath012

打开成功,而且netstat里也看到正确的连接到了2598端口。

总而言之,Web Interface就是负责提供外部用户连接进来的验证,以及ICA文件的下发,WI服务器收到用户请求之后,识别用户的请求是来自内部还是来自外部,然后下发相应的ICA文件。

如果是内网的用户,下发的ICA文件里带有的地址必然是controller的内网地址即192.168.19.7

如果是外网的用户,下发的ICA文件里带的必然是外部的IP地址或是主机名。

所以这样的架构 老版本WI+新版本Controller 是完全可行的。

有问题欢迎留言交流!

附:IIS更换端口,绑定内网CA证书,然后转换里面记得改成4443转换给80

clip_p_w_picpath013

clip_p_w_picpath014

最后iisreset