我正在使用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上运行吗?
答案 0 :(得分:0)
您使用的是哪种传输方式?我知道IE9在使用真正的websockets方面遇到了麻烦,所以回到像flashsockets这样的东西可能对你有用。尝试这样的事情:
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
理想情况下IE9会因为websockets而失败,然后成功使用flashsockets(端口10843并且应该算作安全)。