Spec-Zone.ru › HTTP

Ошибки: CORSMissingAllowOrigin

Причина: Отсутствует заголовок CORS 'Access-Control-Allow-Origin'

Причина

Reason: CORS header 'Access-Control-Allow-Origin' missing

Что пошло не так?

В ответе на запрос CORS отсутствует необходимый заголовок Access-Control-Allow-Origin, который используется для определения возможности доступа к ресурсу содержимым с текущего источника.

Если сервер под вашим контролем, добавьте источник запрашивающего сайта в набор разрешённых доменов, добавив его в значение заголовка Access-Control-Allow-Origin.

Например, чтобы разрешить сайту по адресу https://amazing.site доступ к ресурсу с помощью CORS, заголовок должен быть следующим:

Access-Control-Allow-Origin: https://amazing.site

Также можно настроить сайт, чтобы разрешить доступ к нему любому сайту, используя универсальный символ *. Это следует использовать только для общедоступных API. Для закрытых API никогда не следует использовать *, а вместо этого необходимо установить конкретный домен или домены. Кроме того, универсальный символ работает только для запросов, в которых установлено атрибут crossorigin со значением anonymous, и он предотвращает отправку учетных данных, таких как куки, в запросах.

Access-Control-Allow-Origin: *

Предупреждение: Использование универсального символа для разрешения доступа ко всем сайтам к закрытому API — плохая идея.

Для того, чтобы разрешить любому сайту отправлять запросы CORS без использования универсального символа * (например, для включения учетных данных), ваш сервер должен прочитать значение заголовка запроса Origin и использовать это значение для установки Access-Control-Allow-Origin, а также установить заголовок Vary: Origin, чтобы указать, что некоторые заголовки устанавливаются динамически в зависимости от источника.

Точная директива для установки заголовков зависит от вашего веб-сервера. В Apache добавьте строку, подобную следующей, в конфигурацию сервера (в соответствующем разделе <Directory>, <Location>, <Files>, или <VirtualHost>). Конфигурация обычно находится в файле .conf (httpd.conf и apache.conf — распространенные имена для таких файлов) или в файле .htaccess.

Header set Access-Control-Allow-Origin 'origin-list'

Для Nginx команда для настройки этого заголовка выглядит так:

add_header 'Access-Control-Allow-Origin' 'origin-list';

См. также

  • Ошибки CORS
  • Словарь терминов: CORS
  • Введение в CORS

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API