我目前正在使用 JavaScript 中的 WebSockets 在 IE10(在 Windows 8 上)下开发一个网站。它在 Firefox 18 和 Chrome 25 下运行良好,但在 IE10 上,当我建立连接时出现 SecurityError。
我在做什么似乎很简单:
websocket = new WebSocket('wss://hello.dev.mydomain.net');
但 IE 不喜欢它:
SCRIPT5022: SecurityError
该脚本位于“ https://test.dev.mydomain.net ”(显然不是真实地址)。
困扰我的是,如果我只是双击本地计算机上的文件(例如 file://...),它就可以工作。更糟糕的是:如果我使用fiddler来监控 HTTP 流量......它也可以工作。而没有提琴手似乎根本没有连接,如 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 访问它(我得到了一个重定向,因为我们最初认为它可能是某种同源策略问题),我不明白这有什么关系。至少我希望它不会...
欢迎任何想法。
编辑:将站点添加到受信任区域也不起作用。