Конструктор заголовков CORS
Создавайте стандартные заголовки ответа CORS — Access-Control-Allow-Origin, -Methods, -Headers, -Credentials, -Max-Age и -Expose-Headers — из структурированных полей, готовые для вставки в ответ сервера.
Ввод
Источник, которому разрешён доступ к ресурсу. Используйте * для разрешения всех источников — но это нельзя комбинировать с учётными данными.
Список HTTP методов, разделённых запятой, разрешённых для cross-origin запросов.
Список заголовков запроса, разделённых запятой, которые браузер может отправлять.
Как долго браузеры могут кэшировать результаты preflight, в секундах. Оставьте пусто для исключения.
Опционально. Список заголовков ответа, разделённых запятой, которые JavaScript может читать.
Вывод
Один заголовок на строку — вставьте прямо в конфигурацию ответа вашего сервера.
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/cors-headers-builder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin": "https://example.com",
"methods": "GET, POST",
"headers": "Content-Type, Authorization",
"allowCredentials": "true",
"maxAge": "86400",
"exposeHeaders": ""
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `cors-headers-builder` tool (CORS Headers Builder) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/cors-headers-builder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Конструктор заголовков CORS — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Что такое Конструктор заголовков CORS?
Cross-Origin Resource Sharing (CORS) — это механизм, который браузеры используют для определения того, может ли веб-страница, запущенная на одном источнике (https://app.example.com), делать запросы к серверу на другом источнике (https://api.example.com). По умолчанию браузеры блокируют такие запросы — сервер должен согласиться, отправив обратно определённый набор заголовков ответа Access-Control-*. Этот инструмент создаёт эти заголовки из нескольких структурированных полей, чтобы вам не пришлось запоминать точные имена заголовков, правила разделения запятыми или странности true/*, которые путают людей.
Как использовать
- Установите Разрешённый источник — либо конкретный источник, такой как
https://example.com, либо*для разрешения любого сайта (действительно только если учётные данные отключены). - Перечислите Разрешённые методы и Разрешённые заголовки, которые принимает ваш API, разделённые запятой.
- Включите Разрешить учётные данные, если запрос должен нести cookies или заголовок
Authorization— это заставляет вас использовать конкретный источник вместо*. - Установите Max-Age, чтобы контролировать, как долго браузеры кэшируют ответ preflight
OPTIONS, и опционально перечислите Раскрытые заголовки для любых пользовательских заголовков ответа, которые нужно читать вашему JavaScript на стороне клиента. - Поле Сгенерированные заголовки CORS обновляется автоматически — скопируйте его в ответ вашего сервера или загрузите как текстовый файл.
Роль каждого заголовка
- Access-Control-Allow-Origin — какой источник(ники) может читать ответ. Это заголовок, который фактически разблокирует cross-origin доступ; без него браузер блокирует ответ независимо от остального.
- Access-Control-Allow-Methods — HTTP методы, которые сервер принимает из cross-origin запросов, отправляемые в ответ на preflight запрос
OPTIONS. - Access-Control-Allow-Headers — заголовки запроса, которые cross-origin клиент может устанавливать (например
Content-Type,Authorization). - Access-Control-Allow-Credentials — должна быть буквальная строка
true, чтобы браузер раскрыл cookies и HTTP-аутентификацию запрашивающей странице. Её наличие также требует конкретногоAllow-Origin, никогда не*. - Access-Control-Max-Age — сколько секунд браузер может кэшировать результат preflight перед отправкой другого запроса
OPTIONS. Более высокие значения означают меньше preflight, но более медленное развёртывание изменений прав. - Access-Control-Expose-Headers — по умолчанию JavaScript может читать только небольшой набор "безопасных" заголовков ответа. Перечислите здесь любые пользовательские заголовки (например
X-Request-Id), чтобы сделать их читаемыми черезfetch/XMLHttpRequest.
Часто задаваемые вопросы
Почему я не могу использовать * с учётными данными?
Это намеренное ограничение безопасности браузера. Если Access-Control-Allow-Credentials: true было разрешено вместе с wildcard источником, любой веб-сайт в мире мог бы делать аутентифицированные запросы к вашему API, используя cookies вошедшего пользователя. Браузеры отказываются соблюдать эту комбинацию — этот инструмент отмечает её перед развёртыванием.
Что вызывает preflight запрос (OPTIONS)?
Простые запросы — GET, HEAD или POST со стандартными типами контента — идут прямо на сервер. Всё остальное (метод PUT/DELETE/PATCH, пользовательский заголовок, такой как Authorization, или JSON Content-Type) заставляет браузер сначала отправить автоматический preflight OPTIONS, проверив заголовки Access-Control-Allow-* перед отправкой реального запроса.
Нужен ли мне Access-Control-Expose-Headers?
Только если ваш JavaScript на стороне клиента читает заголовки ответа за пределами списка безопасности по умолчанию (Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma). Заголовки пaginации, ID запроса и счётчики ограничения скорости — частые случаи, которые это требуют.
Могу ли я разрешить несколько конкретных источников?
CORS позволяет только одно статическое значение в Access-Control-Allow-Origin за ответ. Для поддержки нескольких известных источников ваш сервер должен проверить входящий заголовок запроса Origin против списка разрешённых и динамически вернуть соответствующий — этот инструмент создаёт блок заголовков для одного источника за раз.
Приватность
Этот инструмент работает полностью в вашем браузере. Источники, методы и заголовки, которые вы вводите, никогда не отправляются и не хранятся на наших серверах.