Я пытаюсь сделать межсетевые вызовы webservice с HTTP-страницы на службу HTTPS.
Я установил правильные заголовки CORS на сервере (он работает с HTTP-HTTP и HTTPS-HTTPS).
Он работает, если я меняю запросы на JSONp.
Что я вижу в Chrome и Firefox, запрос HTTPS никогда не отправляется, он сразу же прерывается и сервер никогда не видит запрос.
Стоит отметить, что запрос preflight OPTIONS
прерывается (и он не доходит до сервера).
Я не могу найти источник, объясняющий, что это действительно невозможно (HTTP to HTTPS) и еще лучше: объясняет почему. Я могу понять, что HTTPS для HTTP небезопасен, но вокруг все должно быть хорошо? Мне кажется глупым, потому что JSONp работает (но это грязно).
Примечания
У меня также есть withCredentials
, установленный на true
, и я отправляю некоторые пользовательские заголовки и пользовательские Content-Type
: application/json
Я использую обычный XMLHTTPRequest с резервными ошибками для JSONp для IE <= 9