@diafree

"неудача канала CORS preflight" — как решить?

Добрый день.

В .htaccess добавлены следующий заголовки:
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
    Header always set Access-Control-Allow-Headers "append,delete,entries,foreach,get,has,keys,set,values,Authorization"
</IfModule>


Результат:
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на site.api. (Причина: неудача канала CORS preflight).

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на site.api. (Причина: не удалось выполнить запрос CORS).


Подскажите, пожалуйста, как можно решить?
  • Вопрос задан
  • 2457 просмотров
Решения вопроса 1
Athanor
@Athanor
Лайк + Решение: не жмись, нажми
preflight-запросы делаются с другого хоста и методом является OPTIONS.

В целом, у вас все написано правильно и проверка будет зависеть от того, где и как вы хостите сервис. В целом, шаги следующие:
1. Если вы пишете эти директивы в .htaccess, то убедитесь, что у вас выставлен AllowOverride All в конфигах /etc/apache2 и .htaccess подхватывается.
2. Убедитесь, что у вас включен mod_headers, выполнив команду a2enmod headers.
3. Воспользуйтесь, например, https://www.test-cors.org/ для проверки того появился ли доступ.

Если у вас на shared-хостинге это и вы не можете выполнить эти действия, обратитесь в техническую поддержку с вашим вопросом как решить эту проблему.

Удачи в решении вопроса )

С уважением,
Иван Томилов
CEO of Athanor
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы