加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Microsoft Edge不允许对websockets进行localhost环回

发布时间:2020-12-14 01:48:16 所属栏目:Windows 来源:网络整理
导读:我有网站和桌面应用程序,我想通过websockets连接它们.所以我的网站尝试连接到wss:// localhost:8080,例如. 它适用于IE11,但在“MS Edge”中我有一个错误: Cross zone request is not allowed 我在Win10 10240上遇到此问题,因此默认情况下启用“允许localh
我有网站和桌面应用程序,我想通过websockets连接它们.所以我的网站尝试连接到wss:// localhost:8080,例如.

它适用于IE11,但在“MS Edge”中我有一个错误:

Cross zone request is not allowed

我在Win10 10240上遇到此问题,因此默认情况下启用“允许localhost环回”标志,但它没有帮助.

当我使用CheckNetIsolation LoopbackExempt -a -n =“Microsoft.MicrosoftEdge_8wekyb3d8bbwe”或此utility时,所有工作都按预期工作.

那么,这是一个案例,在新版本的“MS Edge”环回允许http,但不允许websockets?
如果是这样,是否有可能做出一些解决方法,而不是强迫我的用户运行一些shell命令或下载externall实用程序?

相关问题:Can’t open localhost in Microsoft Edge (Project Spartan) in Windows 10 preview

经过一番研究,我发现了错误的根源.这是我的回购,重现错误: https://github.com/AZaviruha/ms-edge-ws-strange

简而言之,当您在MS Edge中调用新的WebSocket时,当您使用错误的“local”-host参数调用它时,它不会生成异常:

var socket,path;
var hosts = ['localhost','127.0.0.1'];

for (var i in hosts) {
    path = 'ws://'+hosts[i]+':9446';
    console.log( '===> Tested path :: ',path );
    try {
        socket = new WebSocket( path );
        break;
    }
    catch ( e ) {
        // !!! Never shown !!!
        console.error( '===> WebSocket creation error :: ',e );
    }
}

因此,您无法“重试”与不同的主机连接.

顺便说一句,如果你尝试非本地不存在的主机,它将产生异常!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读