2

我正在将 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 上运行吗?

4

1 回答 1

0

你使用什么交通工具?我知道 IE9 无法使用真正的 websockets,所以退回到 flashsockets 之类的东西可能对你有用。尝试这样的事情:

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

理想情况下,IE9 会在 websockets 上失败,然后在 flashsockets 上成功(端口 10843,应该算作安全)。

于 2013-08-06T01:19:19.937 回答