使用atrust登录之后访问OA资源无法打开或者下载资源中的附件,使用QQ浏览器正常,使用谷歌浏览器无法打开和下载资源中的附件。
把资源在IE浏览器中打开测试,发现是可以正常使用的。
查看可以正常访问的QQ浏览器,发现默认是使用IE兼容模式访问,调整为谷歌内核之后,出现了和谷歌浏览器一样的问题,无法打开和下载;
和用户确认使用SSL VPN访问正常,通过对比atrust与SSLVPN访问差别,发现是使用atrust访问资源的时候,浏览器去访问插件监听的本地端口时会出现异常。
对比SSLVPN和atrust资源的差别,SSL VPN发布为L3资源,默认使用长连接隧道,通过虚拟网卡路由转发的方式处理数据。而atrust发布为域名资源,不支持长连接的方式,默认为短连接。
根据SSLVPN跟atrust产品的差异,调整atrust发布资源为IP,并且勾选长连接验证,测试访问资源中的插件程序正常。
Atrust默认使用的是短隧道连接,短隧道、长隧道各有优势。长隧道的兼容性较好,短隧道发布方便。短隧道是代理应用层的数据,如果插件对TCP层数据做了特殊处理,atrust就无法处理,导致访问资源失败。且短隧道域名资源使用的是198.18.0.x的fakeip,并非资源的实际ip,这种情况部分资源服务器不会认同这个fakeip,也是会导致业务访问失败。切换为长隧道之后,长隧道直接代理ip包,目前ip就是资源ip,对于应用来说就是直接发到了资源服务器,减少了特殊处理,兼容性更强。
在atrust调整资源为长隧道访问,需要在用户策略中开启强制下发DNS(用于保障域名访问时可以正常解析成内网IP),在资源中调整后端地址为资源服务器的真实内网地址,开启TCP长连接,调整资源为长隧道访问。