Microsoft Edge заблокировал междоменные запросы, отправленные на IP-адреса в той же частной сети CIDR.

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

Я хочу отправить междоменный XMLHttpRequest на IP-адреса в частной сети. Однако в консоли инструментов разработчика отображается следующая ошибка:

SCRIPT7002: XMLHttpRequest: ошибка сети 0x2efd, не удалось завершить операцию из-за ошибки 00002efd.

Согласно Wireshark, пакет не отправляется со стороны клиента. Я предполагаю, что запрос заблокирован Microsoft Edge. Кроме того, я обнаружил, что запросы блокируются только в том случае, если URL-адрес XMLHttpRequest и клиента 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. Есть ли обходной путь или решение этой проблемы?


person Hsiao    schedule 15.09.2015    source источник
comment
У меня также есть эта проблема... Работает везде, но Edge выглядит как ошибка... Я предлагаю вам попробовать отправить в MS с опцией обратной связи.   -  person Vincent Demers    schedule 21.09.2015


Ответы (1)


Из Общие сведения о расширенном защищенном режиме

Ресурсы частной сети

Поскольку в EPM не объявлена ​​возможность privateNetworkClientServer, ваши ресурсы интрасети защищены от многих типов межзоновых атак (обычно называемых «подделкой межсайтовых запросов (CSRF)» и «сканированием портов интрасети»). для кадрирования страниц интрасети, загрузки изображений или ресурсов с них, отправки им запросов CORS XHR и т. д.

Все вышеперечисленное, кажется, относится к MS Edge. Единственное, чего не хватает Edge (по крайней мере, на данный момент, v20.10240), — это настройки зоны безопасности.

Моя проблема была не с XMLHttpRequest, а с попыткой загрузить страницу интрасети в iframe внутри интернет-страницы. Обходной путь заключался в изменении настройки моей сети - см. https://stackoverflow.com/a/32828629.

person beluga    schedule 28.09.2015