我意识到,这里不太可能有一个明确的“检查这个盒子来解决这个问题”的答案,但我正在努力解决这个问题,我希望有一个比我更多知识的人可以给我更多的见解或者一些术语和短语来寻找。
我正在研究一些embedded式设备的奇怪问题 – 长话短说,其中一些设备(可能运行特定的固件版本)不能通过NetScaler SSL VPN连接。
这是真的,但在解决问题时,我注意到了一些我想知道更多的信息。
为了进行testing,我build立了一个快速的IIS服务器,以便我可以运行WireShark,并根据是否通过VPN(相同的机器,在RAW模式下使用Putty)获取不同的stream量。
所以,从我的IIS服务器(.117下面)的WireShark:
没有VPN,从客户端我得到以下stream量:
SYN ACK [Nothing happens, until I type "GET / HTTP/1.1" into Putty] HTTP GET ACK FIN, ACK

通过VPN,从客户端获得:
SYN FIN, ACK [Nothing happens, until I type "GET / HTTP/1.1" into Putty] HTTP GET ACK FIN, ACK

从我的testing中,我认为这应该是发送虚假FIN的NetScaler(我已经从DMZ中的一台机器上testing过,通过相同的防火墙等,但它没有),我不认为它已经出来embedded式设备可能不喜欢的领域。
那么,任何人都可以解释为什么NetScaler正在这样做,我怎么能改变它? 我认为这是一个TCPconfiguration文件configuration,但我似乎无法弄清楚。
我附上了截图的两个截图 – 两个截图都使用相同的客户端 – >服务器和相同的方法(Putty)。 唯一的区别是我是否通过SSL VPN连接。
更新1
在想知道的时候,我把Web服务器更改为在端口81而不是端口80上进行监听。通过这种configuration,握手正确,没有虚假的FIN消息。 这导致我相信这将是与NetScaler上的HTTP优化有关