Ошибки: 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