PassFront
  1. PassFront
  2. База знаний
  3. Ошибки и отладка

Что такое CORS ошибка?

Ошибки и отладка

Ошибка CORS возникает, когда браузер блокирует чтение ответа на кросс-доменный запрос, потому что сервер не прислал разрешающие заголовки `Access-Control-Allow-`.**

Когда возникает

При запросе с одного origin (протокол+домен+порт) к ресурсу на другом origin, если сервер не разрешил этот источник:

Access to fetch at 'https://api.b.com' from origin 'https://a.com'
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header

Главное

  • Это ошибка браузера, а не сервера: запрос часто доходит до сервера и выполняется, но браузер блокирует чтение ответа JavaScript-ом.
  • Из curl/Postman/серверного кода CORS не действует — там ограничений нет.
  • Ошибка означает: сервер не прислал нужный Access-Control-Allow-Origin (или он не совпадает).

Причины

  • Сервер не настроил CORS-заголовки.
  • Origin не входит в разрешённый список.
  • Не обработан preflight OPTIONS для сложных запросов.
  • Отправка credentials без Access-Control-Allow-Credentials: true (и с * в origin).

Как исправить

  • Настроить заголовки на сервере.
  • Использовать прокси (свой backend или dev-прокси).

Коротко для собеседования

Ошибка CORS — браузер блокирует чтение ответа на кросс-доменный запрос из-за отсутствия/несовпадения Access-Control-Allow-Origin. Запрос обычно доходит до сервера; блокируется именно чтение ответа JS. Из curl её нет. Решение — заголовки на сервере или прокси.

Другие вопросы раздела