$.ajax({
url: "http://10.13.22.150/req_path",
success: function(result){
console.log(result);
}
});
プライベートドメインのIPアドレスにクロスドメインXMLHttpRequestを送信したいのですが。ただし、開発者ツールコンソールには次のエラーが表示されます。
SCRIPT7002:XMLHttpRequest:ネットワークエラー0x2efd、エラー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でのみ表示されます。この問題に関する回避策または解決策はありますか?
から 拡張保護モードについて
プライベートネットワークリソース
EPMはprivateNetworkClientServer機能を宣言しないため、イントラネットリソースは多くの種類のクロスゾーン攻撃(通常は「クロスサイトリクエストフォージェリ(CSRF)」および「イントラネットポートスキャン」と呼ばれます)から保護されています。インターネットページは使用できません。イントラネットページのフレーミング、ページからの画像やリソースの読み込み、CORS XHRリクエストの送信など。
上記のすべてがMS Edgeに適用されるようです。 Edgeに欠けている唯一のもの(少なくとも現時点ではv20.10240)は、セキュリティゾーンの設定です。
私の問題はXMLHttpRequestではなく、インターネットページ内のiframeにイントラネットページを読み込もうとしたことです。回避策には、ネットワーク設定の変更が含まれていました-参照 https://stackoverflow.com/a/32828629