PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Как настроить доступ к домену при использовании CORS?

DOM и браузер

Доступ к домену при CORS настраивают заголовком `Access-Control-Allow-Origin`, указывая разрешённый origin (или `` для публичного доступа без credentials).**

Разрешить конкретный домен

Access-Control-Allow-Origin: https://app.com

Только https://app.com сможет читать ответы. Origin = протокол + домен + порт.

Несколько доменов

Заголовок принимает один origin (или *). Для списка доменов сервер проверяет Origin запроса и динамически возвращает совпадающий:

const allowed = ['https://app.com', 'https://admin.app.com'];
const origin = req.headers.origin;
if (allowed.includes(origin)) {
  res.header('Access-Control-Allow-Origin', origin);
}

Публичный доступ

Access-Control-Allow-Origin: *

Разрешает всем — только для публичных API без credentials.

С credentials (cookie)

При Access-Control-Allow-Credentials: true нельзя использовать * — нужен конкретный origin:

Access-Control-Allow-Origin: https://app.com
Access-Control-Allow-Credentials: true

Дополнительно

  • Разрешить методы: Access-Control-Allow-Methods.
  • Разрешить заголовки: Access-Control-Allow-Headers.
  • Обработать preflight OPTIONS.

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

Доступ домена задают Access-Control-Allow-Origin: <origin> (конкретный домен) или * (публично, без credentials). Для списка доменов сервер проверяет заголовок Origin и возвращает совпадающий. При credentials: true * запрещён — только конкретный origin.

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