SVN3000 同一IE窗口访问多个共享型虚拟网关 无法访问

发布时间:  2012-07-17 浏览次数:  90 下载次数:  0
问题描述

用户以16个共享型虚拟网关的方式虚拟出16个VPN设备,来向各个省市区提供VPN接入业务。但是用户发现使用IE访问完一个虚拟网关后再访问另外一个,会访问失败。

告警信息
处理过程

1、由于此设备进行过升级,怀疑是升级完后,配置文件有变动,通过工具对配置文件的比较发现,配置文件一致,排除第一种原因。

2、在客户端的IE演示故障现象,并进行抓包,通过抓包分析,如下:
(1)用户访问https://X.X.X.X/hebei可以正常访问,登录的过程如下,首先要建立TCP连接,SSL握手,然后开始业务访问。
(2)用户在不关闭IE的前提下快速(15s之内)修改URL地址为https://X.X.X.X/bj访问失败,从下面的抓包可以看出,访问https://X.X.X.X/bj时IE是复用了https://X.X.X.X/hebei的TCP连接,没有发送SYN报文重新建立连接:
(3)但是用户在正常访问https://X.X.X.X/bj之后再次访问https://X.X.X.X/hebei却会每次都可以访问“成功”。这个现象的原因如下,因为hebei的子域名的长度大于bj,SVN3000里面刚好有个容错处理流程会对这种域名做重定向处理,但是没有包含子域名长度小于原域名长度的情况。


综合上述抓包分析,得出:

这个问题的根本原因是IE的TCP复用机制,因为客户将16个网关共用一个IP地址来访问,这种情况下IE认为子域名变动可能只是同一个网站的内部资源变动,所以可以复用这个TCP连接来减少开销,但是实际情况是这16个虚拟网关虽然共享一个IP地址,但是逻辑上是完全独立的网关设备。

问题影响及解决办法:

用户在15秒之内、且不关闭IE的情况下切换访问共享型虚拟网关可能会出现15秒内无法访问的情况。一般用户不会在15秒之内连续切换登录网站,如果真的由此需求可以按照如下方案规避该问题。
办法一:切换登录时先将上次访问的页面关闭,重新打开IE。
    办法二:修改一下子域名,将长度修改为一致。例如beijing、xxhebei。

根因
1、配置错误(公共配置和各个虚拟网关的配置)
2、IE与SVN3000此版本的配套问题
建议与总结
对于不好定位的问题,建议进行抓包分析。

END