Node.js SEC7111:使用IE9和Socket.IO会破坏HTTPS安全性
我正在为NodeJS web应用程序使用Socket.IO。该页面在SSL上提供,我的连接如下所示:Node.js SEC7111:使用IE9和Socket.IO会破坏HTTPS安全性,node.js,internet-explorer,socket.io,Node.js,Internet Explorer,Socket.io,我正在为NodeJS web应用程序使用Socket.IO。该页面在SSL上提供,我的连接如下所示: var socket = io.connect('/'); io.set('transports', [ 'websocket' , 'flashsocket' , 'htmlfile' , 'xhr-polling' , 'jsonp-polling' ]); 除了IE9之外,它几乎适用于任何浏览器。在IE9(在Windows 7中)上,我在控制台中遇到
var socket = io.connect('/');
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
除了IE9之外,它几乎适用于任何浏览器。在IE9(在Windows 7中)上,我在控制台中遇到以下错误:
SEC7111: HTTPS security is compromised by https://app.mysite.com/socket.io/1/htmlfile/m9Zjap56uyEbx4eptg27?t=1375727354386
插座从不连接。SSL的类型是SNI,运行代码的页面位于同一子域上。例如:
我也尝试过以下方法,但没有什么不同:
var socket = io.connect('/', { secure: true });
有什么办法可以让它在IE9上工作吗?您使用的是什么传输方式?我知道IE9在使用真正的websockets时遇到了麻烦,所以退回到flashsockets之类的东西可能会对你有用。试着这样做:
var socket = io.connect('/');
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
理想情况下,IE9会在WebSocket上失败,然后在FlashSocket上成功(端口10843,应该算是安全的)。我满怀希望,但这并没有解决问题。我还确保安装了flash,但这没有帮助。谢谢你