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

Microsoft Edge blocked cross-domain requests sent to IPs in same private network CIDR

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

我想发送跨域 XMLHttpRequest 到私有网络中的 ip 地址。 但是,开发人员工具控制台中显示以下错误:

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd.

根据 Wireshark,数据包不是从客户端发送的。我猜该请求被 Microsoft Edge 阻止了 此外,我发现只有当 XMLHttpRequest 的 url 和 Edge 客户端在同一私有网络的 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

IE11/Chrome/Firefox 等其他浏览器工作正常。这种情况只出现在 Microsoft Edge 中。 关于此问题是否有任何解决方法或解决方案?

来自Understanding Enhanced Protected Mode

Private Network resources

Because EPM does not declare the privateNetworkClientServer capability, your Intranet resources are protected from many types of cross-zone attacks (usually called “Cross-Site-Request-Forgery (CSRF)” and “Intranet Port Scanning.”) Internet pages are not able to frame Intranet pages, load images or resources from them, send them CORS XHR requests, etc.

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

我的问题不在于 XMLHttpRequest,而是在于尝试在 Internet 页面内的 iframe 中加载 Intranet 页面。解决方法涉及修改我的网络设置 - 请参阅