Microsoft Edge阻止了发送到同一专用网络CIDR中的IP的跨域请求

Hsi*_*iao 11 javascript ajax xmlhttprequest cors microsoft-edge

$.ajax({
    url: "http://10.13.22.150/req_path",
    success: function(result){
        console.log(result);
    }
});
Run Code Online (Sandbox Code Playgroud)

我想将跨域XMLHttpRequest发送到专用网络中的IP地址.但是,开发人员工具控制台中显示以下错误:

SCRIPT7002:XMLHttpRequest:网络错误0x2efd,由于错误00002efd无法完成操作.

根据Wireshark的说法,数据包不是从客户端发送的.我猜这个请求被Microsoft Edge阻止了.此外,我发现只有当XMLHttpRequest和Edge客户端的URL在私有网络的同一个CIDR中时才会阻止请求.

Client IP             Request URL            Result
192.168.x.x  send to  192.168.x.x   ->>>>>   X
10.13.x.x    send to  10.13.x.x     ->>>>>   X
10.13.x.x    send to  192.168.x.x   ->>>>>   O
Run Code Online (Sandbox Code Playgroud)

其他浏览器如IE11/Chrome/Firefox也可以.此情况仅在Microsoft Edge中显示.有关此问题的解决方法或解决方案吗?

bel*_*uga 7

了解增强保护模式

专用网络资源

由于EPM未声明privateNetworkClientServer功能,因此可以保护Intranet资源免受多种类型的跨区域攻击(通常称为"跨站点请求伪造(CSRF)"和"Intranet端口扫描".)Internet页面无法访问构建Intranet页面,从中加载图像或资源,向它们发送CORS XHR请求等.

以上所有内容似乎都适用于MS Edge.Edge缺少的唯一功能(至少在此时,v20.10240)是安全区域设置.

我的问题不是XMLHttpRequest,而是尝试在Internet页面内的iframe中加载Intranet页面.解决方法涉及到我的网络设置 - 请参阅/sf/answers/2298004061/