Squid,HTTPS页面间歇性和Windows 8 / IE11

时间:2014-01-26 15:24:03

标签: ssl windows-8.1 squid internet-explorer-11

我有一个奇怪的问题,并设法在不同位置使用不同的Squid安装复制此问题。

我将把我的“问题”与我家的鱿鱼服务器作为基础。

运行Fedora 20(32位),Squid 3.3.11,防火墙和iptables已卸载/禁用。网络是IPv4。我有几台带有IE11的Windows 7机器和带有IE11的1x Windows 8.1机器。

我的问题是,在关闭了IPv6协议的Windows 8.1计算机上,尝试加载基于SSL的网页(例如https://www.google.co.ukhttps://www.facebook.com)时,初始页面加载会导致错误。 Subsiquent加载失败,部分失败(网站的IE主体加载,但进一步的SSL连接失败,如图像加载)或允许页面加载。)。奇怪的是,我没有再次打电话给我的银行网站有问题!我认为有些网站似乎比其他网站更挣扎。

我的一位朋友也设法在他用Windows 8.1设置的squid服务器上复制了这个错误。他评论说使用其他浏览器如Firefox,问题得到解决所以它似乎仅限于Windows 8.1和IE11

使用Wireshark,在尝试失败期间,我的机器发送回一堆TCP RST命令。

然而,使用IE11在Windows 7上加载相同的网站,或者使用IE8加载Windows XP时,问题不会出现,直到我转移到Windows 8.1,我的Squid服务器出现了0个问题。

我的Squid配置是相当基础的,因为我只是使用它来使用SquidGuard使用阻止列表来过滤广告,尽管当我从squid.conf中删除相关行时,实验排除了SquidGuard的问题。

感谢阅读并希望我们能够深入了解这一点!

我的squid配置的副本。

#squid normally listens to port 3128
http_port 3128

#Allow local machine
#acl manager proto cache_object
acl localhost src 192.168.20.6

# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

http_access allow localhost

# Define Local network
acl localnet src 192.168.20.0/24
http_access allow localnet

#Redirect for SquidGuard
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

# And finally deny all other access to this proxy
http_access deny all

2 个答案:

答案 0 :(得分:0)

可能与IE11在初始握手中禁用RC4并使用TLS1.2有关,请参阅http://blogs.msdn.com/b/ie/archive/2013/11/12/ie11-automatically-makes-over-40-of-the-web-more-secure-while-making-sure-sites-continue-to-work.aspx。不幸的是,许多主机仍然需要RC4,如果客户端不提供此密码,可能会失败。其他主机在使用TLS1.2时也会出现问题,例如它们只是关闭连接(比如当前的bmwi.de)或者只是丢弃请求(通常是前面的旧F5 BIG-IP负载均衡器)。

我从Chrome知道它只是使用TLS 1.1立即重试失败的TLS 1.2请求。也许IE11做的不同,例如不会立即重试,只会记住失败并在用户重试时解决问题。或者只有在与代理一起使用时它才会以这种方式运行。

如果图像是从不同的主机名加载的,例如有时只有第二个请求上的html,则有时会获得完整的页面。 images.whatever而不是www.whatever。在这种情况下,它首先获得与www.whatever失败的握手,并且在成功重试之后,使用降级的SSL,它接收带有来自images.whatever的包含的HTML。然后它将访问images.whatever并将运行与SSL相同的问题,以便页面保持w / o图像,直到另一次重试。

如果我的理论是正确的,你应该在wireshark中看到最初失败的连接一个带有版本TLS 1.2的SSL客户端Hello消息,它不应该在提供的密码列表中有RC4。在第二个(成功)连接上,您应该在Client Hello的密码列表中看到RC4,也许它也将使用TLS 1.1或烤箱TLS 1.0而不是TLS 1.2。

答案 1 :(得分:0)

我发现它:在IE11中禁用SPDY / 3协议(附加....)