Обязательные заголовки
Принудительная проверка наличия указанных HTTP-заголовков в каждом запросе через governance.
Обзор
Обязательные заголовки позволяют гарантировать наличие конкретных HTTP-заголовков в каждом LLM- и MCP-запросе, проходящем через Meridian. Если в запросе нет хотя бы одного из обязательных заголовков, плагин governance отклоняет его с ошибкой 400 Bad Request, не доводя до провайдера.
Это полезно для:
- Изоляции тенантов — требовать
X-Tenant-ID, идентифицирующий вызывающего тенанта. - Аудит-трейлов — требовать
X-Correlation-IDдля сквозной трассировки запросов между сервисами. - Кастомных метаданных маршрутизации — требовать заголовки, от которых зависит ваша инфраструктура.
Проверка обязательных заголовков требует включённого governance. Проверка выполняется в PreLLMHook и PreMCPHook, поэтому распространяется на все inference-запросы и вызовы MCP-инструментов.
Сопоставление имени заголовка регистронезависимо — настройка X-Tenant-ID совпадёт с x-tenant-id, X-TENANT-ID и любой другой записью.
Как это работает
Когда приходит запрос:
- Middleware HTTP-транспорта сохраняет все заголовки запроса в context Meridian (с ключами в нижнем регистре).
- Хуки
PreLLMHook/PreMCPHookплагина governance проверяют наличие каждого обязательного заголовка. - Если хотя бы один отсутствует, запрос немедленно отклоняется со статусом
400и JSON-ошибкой со списком недостающих заголовков.
Пример ответа с ошибкой:
{
"error": {
"message": "missing required headers: x-tenant-id, x-correlation-id",
"type": "missing_required_headers"
}
}Конфигурация
- Перейдите в Config → Security Settings.
- Убедитесь, что Governance включён (раздел обязательных заголовков отображается только при активном governance).
- Прокрутите до раздела Required Headers.

- Введите список имён заголовков через запятую (например,
X-Tenant-ID, X-Correlation-ID). - Нажмите Save Changes.
Изменения вступают в силу немедленно — перезапуск не требуется.
Передавайте required_headers в client_config при обновлении конфигурации:
curl -X PUT http://localhost:8080/api/config \
-H "Content-Type: application/json" \
-d '{
"client_config": {
"required_headers": ["X-Tenant-ID", "X-Correlation-ID"]
}
}'Чтобы очистить список обязательных заголовков, передайте пустой массив:
curl -X PUT http://localhost:8080/api/config \
-H "Content-Type: application/json" \
-d '{
"client_config": {
"required_headers": []
}
}'Добавьте required_headers в секцию client:
{
"client": {
"required_headers": ["X-Tenant-ID", "X-Correlation-ID"]
}
}| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
required_headers | string[] | Нет | Список имён заголовков, которые должны присутствовать в каждом запросе. Регистронезависимо. |
Примеры
Обязательный заголовок тенанта
Настройка одного обязательного заголовка для идентификации тенанта:
{
"client": {
"required_headers": ["X-Tenant-ID"]
}
}Корректный запрос:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: tenant-123" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'Отклонённый запрос (нет заголовка):
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
# → 400: missing required headers: x-tenant-idСовмещение с виртуальными ключами
Обязательные заголовки работают вместе с принудительной проверкой виртуальных ключей. Если настроены обе проверки, плагин governance сначала проверяет обязательные заголовки, затем валидирует виртуальный ключ:
{
"client": {
"enforce_auth_on_inference": true,
"required_headers": ["X-Tenant-ID"]
}
}В таком запросе должны присутствовать и заголовок виртуального ключа, и X-Tenant-ID, чтобы пройти governance.
Дальнейшие шаги
- Виртуальные ключи — настройка контроля доступа через виртуальные ключи.
- Маршрутизация — маршрутизация запросов по заголовкам и другим критериям.
Политики резервирования бюджета
Как Meridian резервирует расходы до отправки запроса в провайдера — flat, worst-case и отключённое резервирование, когда какой режим выбирать и как настроить.
Телеметрия
Полноценный мониторинг шлюза Meridian на основе Prometheus с кастомными метриками и метками. Автоматический сбор HTTP-метрик и метрик upstream-провайдеров без влияния на латентность запросов.