$.ajax({ url: “http://10.13.22.150/req_path", success: function(result){ console.log(result); } });
我想将跨域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
IE11 / Chrome / Firefox等其他浏览器也可以正常工作。这种情况仅在Microsoft Edge中显示。关于此问题是否有任何解决方法或解决方案?
从了解增强保护模式
专用网络资源 由于EPM并未声明privateNetworkClientServer功能,因此您的Intranet资源受到保护,免受多种类型的跨区域攻击(通常称为“跨站点请求伪造(CSRF)”和“ Intranet端口扫描”。)Internet页面无法使用构架Intranet页面,从中加载图像或资源,向其发送CORS XHR请求等。
专用网络资源
由于EPM并未声明privateNetworkClientServer功能,因此您的Intranet资源受到保护,免受多种类型的跨区域攻击(通常称为“跨站点请求伪造(CSRF)”和“ Intranet端口扫描”。)Internet页面无法使用构架Intranet页面,从中加载图像或资源,向其发送CORS XHR请求等。
以上所有内容似乎都适用于MS Edge。Edge唯一缺少的是安全区域设置(至少在此时,v20.10240)。
我的问题不是与XMLHttpRequest有关,而是与尝试在Internet页面内部的iframe中加载Intranet页面有关。