Причина: CORS header 'Access-Control-Allow-Origin' отсутствует

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Причина

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

Почему это произошло?

В ответе на запрос к {{Glossary("CORS")} отсутствует {{HTTPHeader ("Access-Control-Allow-Origin")}}, который определяет есть ли доступ к контенту у спрашиващего домена.

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

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

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

 

Так же, вы можете разрешить доступ любому сайту подставив "*". Подстановка "*" должна использоваться только для публичных APIs. В частных APIs, "*" не должна использоваться, вместо этого должен быть установлен определенный домен или домены. В дополнение, эта подстановка  работает только для запросов с атрибутом {{htmlattrxref ("crossorigin")}}, установленным на "anonymous".

Access-Control-Allow-Origin: *

Внимание:  Использование * для частных api плохая идея, что очевидно.

 

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

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

Для Nginx, используется комманда настройки headers:

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

 

Смотри также

Метки документа и участники

Внесли вклад в эту страницу: coldestheart
Обновлялась последний раз: coldestheart,