Генератор CORS-заголовков
Генерация заголовков Cross-Origin Resource Sharing для вашего сервера
Настройка CORS
Сгенерированный результат
Примеры использования
Открытый публичный API
Разрешить любому источнику выполнять GET и POST запросы. Подходит для публичных API, обслуживающих любые сайты.
Внутреннее приложение с авторизацией
Ограничить доступ конкретными источниками с поддержкой учётных данных. Идеально для внутренних приложений с аутентификацией.
API только для чтения
Конфигурация API только для чтения, разрешающая GET-запросы с любого источника и предоставляющая заголовки пагинации.
Возможности
Полная настройка
Настройте все CORS-заголовки: origin, methods, headers, credentials и max-age
Поддержка нескольких серверов
Готовые фрагменты конфигурации для Nginx, Apache, Node.js/Express и PHP
Пользовательские источники и заголовки
Добавляйте несколько источников и заголовков через удобный интерфейс тегов
Конфиденциальность
Вся обработка происходит локально в вашем браузере, данные не отправляются на серверы
Как использовать?
Настройте параметры
Укажите разрешённые источники, HTTP-методы, заголовки, max-age и параметры credentials.
Выберите формат вывода
Переключайтесь между форматами HTTP-заголовков, Nginx, Apache, Node.js или PHP.
Скопируйте и разверните
Скопируйте сгенерированную конфигурацию и добавьте её в настройки вашего сервера.
Часто задаваемые вопросы
Что такое CORS и зачем он нужен?
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, контролирующий, какие домены могут отправлять запросы к вашему API. По умолчанию браузеры блокируют кросс-доменные запросы — скрипт на example.com не может обратиться к api.otherdomain.com. CORS-заголовки сообщают браузеру: «всё в порядке, я доверяю этому источнику». Без правильной настройки CORS ваш фронтенд получит непрозрачные ошибки «blocked by CORS policy», которые печально известны своей бесполезностью.
Почему настройка CORS вызывает трудности
CORS включает множество заголовков, которые взаимодействуют неочевидным образом. Allow-Origin может быть конкретным доменом или *, но не оба варианта одновременно с credentials. Allow-Methods и Allow-Headers должны совпадать с тем, что клиент отправляет в предварительном запросе. Max-Age контролирует время кэширования результатов preflight. Пропустите любой из них — и ваши API-вызовы завершатся загадочными ошибками. Этот инструмент позволяет настроить всё визуально и выдаёт готовые конфигурации для Nginx, Apache, Node.js и PHP.
Типичные ошибки CORS
Ошибка номер один — установить Allow-Origin в *, одновременно включив credentials: браузер это отклонит. Вторая — забыть обработать предварительные OPTIONS-запросы на сервере, из-за чего PUT/DELETE/PATCH перестают работать. Третья — не раскрыть пользовательские заголовки ответа через Expose-Headers, делая их невидимыми для JavaScript. Этот инструмент предупреждает о таких проблемах при настройке.
Предварительные запросы (Preflight)
Перед отправкой «сложного» запроса (всё, что выходит за рамки простых GET/POST со стандартными заголовками) браузер отправляет OPTIONS-запрос: «это разрешено?» Сервер должен ответить соответствующими Allow-заголовками. Если нет — фактический запрос вообще не отправится. Заголовок Max-Age указывает браузеру, как долго кэшировать ответ preflight, чтобы не спрашивать заново при каждом запросе.
Конфиденциальность
Ваша конфигурация CORS не покидает ваш браузер. Никаких обращений к серверу, никакого хранения, никакого отслеживания. Инструмент полностью работает на JavaScript.