我目前正在使用JavaScript中的WebSockets在IE10(Windows 8)下开发一个网站.它在Firefox 18和Chrome 25下运行良好,但在IE10上,当我建立连接时,我得到一个SecurityError.
我正在做的事情似乎非常简单:
websocket = new WebSocket('wss://hello.dev.mydomain.net');
Run Code Online (Sandbox Code Playgroud)
但IE不喜欢它:
SCRIPT5022: SecurityError
Run Code Online (Sandbox Code Playgroud)
该脚本位于" https://test.dev.mydomain.net "(显然不是真正的地址).
困扰我的是,如果我只是双击我本地计算机上的文件(例如file:// ...)它就可以了.更糟糕的是:如果我使用fiddler监控HTTP流量......它也有效.然而,如果没有fiddler似乎没有任何联系,详见API的规范.(见下文.)
根据websocket规范判断,Chrome/Firefox上也应该出现异常......但事实并非如此.所以我怀疑它有什么与HTTP/HTTPS有关.在任何情况下,我在httpS页面上使用wsS套接字......此外:当我用在线示例中找到的另一个有效服务器替换wss地址时,它可以工作.
我不知道这是否相关,但test.dev.mydomain.net的IP是10.14.xx,其中hello.dev.mydomain.net是194.247.xx我不知道它是否会触发某种安全性仅在IE上......
还有一件事:我有*.dev.mydomain.net证书,IE似乎没有问题.该脚本最初驻留在名为my.name.dev.mydomain.net的服务器上,但由于我从另一个URL访问它(因为我们首先认为它可能是某种同源策略问题,所以我得到了重定向),不明白它是如何重要的.至少我希望它不......
欢迎任何想法.
编辑:将站点添加到受信任区域也不起作用.