Назад к документации

Документация API Gateway

api-gateway — реверс-прокси и API-шлюз с JWT-аутентификацией по маршрутам, ролевым доступом, рейт-лимитингом, service discovery по labels контейнеров и публикацией событий. Исходный код — sarnas-it/api-gateway.

Документация состоит из трёх частей. Начните с быстрого старта, если хотите поднять шлюз за пять минут; загляните в справочник, когда нужно понять конкретное поле; выберите сценарий, если решаете прикладную задачу.

  • Быстрый старт — минимальный конфиг, локальный запуск и Docker, проверка и первые шаги.
  • Конфигурация — полный справочник по всем секциям и полям, которые читает код.
  • Сценарии — готовые рецепты: JWT и RBAC, аудит, CORS, ACME, discovery, взвешенная балансировка и другое.

Что умеет шлюз

  • Маршрутизация по префиксу пути и по Host (включая wildcard *.example.com).
  • JWT-аутентификация и ролевой доступ на уровне отдельного маршрута.
  • Рейт-лимитинг: per-route (token bucket на IP) и глобальный.
  • Health checks таргетов и circuit breaker на ошибках транспорта.
  • Взвешенная балансировка нескольких таргетов одного маршрута.
  • CORS, Basic Auth, проброс claims в заголовки, HMAC-подпись запросов.
  • Раздача статики и SPA с fallback на index.html.
  • Service discovery Docker/Podman по labels с аварийным фолбэком в файл состояния.
  • Вебхуки и NATS: события on_request/on_response, батчинг, backpressure.
  • Автоматический TLS (Let's Encrypt, в т.ч. staging), метрики и трейсинг (OpenTelemetry).

Как читать справочник

Значения по умолчанию действуют, когда поле не задано в YAML. Поведение, которое легко понять неправильно (например, max_request_body_size: 0 или семантика weight), отмечено в тексте и в сценариях. Все примеры конфигов можно копировать и запускать.