SEC7111:使用IE9和Socket.IO破坏了HTTPS安全性

时间:2013-08-05 18:42:16

标签: node.js internet-explorer socket.io

我正在使用Socket.IO作为NodeJS Web应用程序。该页面在SSL上提供,我的连接如下所示:

var socket = io.connect('/');

这适用于除IE9之外的任何浏览器。在IE9(在Windows 7中),我在控制台中收到此错误:

SEC7111: HTTPS security is compromised by https://app.mysite.com/socket.io/1/htmlfile/m9Zjap56uyEbx4eptg27?t=1375727354386 

套接字永远不会连接。 SSL的类型是SNI,运行代码的页面位于同一子域中。例如:https://app.mysite.com/project/show/12345

我也尝试了以下内容,但没有区别:

var socket = io.connect('/', { secure: true });

我有什么想法可以让它在IE9上运行吗?

1 个答案:

答案 0 :(得分:0)

您使用的是哪种传输方式?我知道IE9在使用真正的websockets方面遇到了麻烦,所以回到像flashsockets这样的东西可能对你有用。尝试这样的事情:

io.set('transports', [
     'websocket'
   , 'flashsocket'
   , 'htmlfile'
   , 'xhr-polling'
   , 'jsonp-polling'
 ]);

理想情况下IE9会因为websockets而失败,然后成功使用flashsockets(端口10843并且应该算作安全)。