Symbi0t
@Symbi0t

CORS. Отправка запроса с https. Почему не работает?

Приветствую.
Проблема состоит в следующем:
при попытке отправить запрос на адрес: site.com, браузер тут же отвечает:
Заблокирована загрузка смешанного активного содержимого «http://site.com»

Почитал по этой проблеме, узнал, что она решается путем отсечения протокола, т.е: отправлять надо так:
//site.com
Но после этого появилась другая проблема. Когда запрос отправляется с протокола http, всё проходит нормально, но когда отправляется с https, тогда браузер пишет:
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://www.site.com. Это может быть исправлено путем перемещения ресурса в тот же домен или включением CORS.

Переместить ресурс на тот же домен, не вариант. А CORS точно включен, с сервера указываются заголовки:
header('Access-Control-Request-Method: *');
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
header('Content-Type: Application/json');


Не понимаю, почему при отправке с протокола https появляется проблема.
  • Вопрос задан
  • 11716 просмотров
Пригласить эксперта
Ответы на вопрос 2
egor_nullptr
@egor_nullptr
Заголовок Access-Control-Allow-Origin не должен быть * в данном случае.
Пример для PHP:
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
Ответ написан
Symbi0t
@Symbi0t Автор вопроса
Выяснил суть проблемы. Оказалось, что отправка запроса с https на http запрещена спецификацией.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы