Промежуточное ПО
Шлюз PRX использует компонуемый стек промежуточного ПО для обработки сквозных задач: аутентификации, ограничения частоты, CORS и журналирования запросов.
Стек промежуточного ПО
Запросы проходят через стек промежуточного ПО по порядку:
- Журналирование запросов -- запись входящих запросов с хронометражем
- CORS -- обработка заголовков совместного использования ресурсов между источниками
- Аутентификация -- валидация bearer-токенов или API-ключей
- Ограничение частоты -- соблюдение лимитов запросов на клиента
- Маршрутизация запросов -- диспетчеризация к соответствующему обработчику
Промежуточное ПО аутентификации
toml
[gateway.auth]
enabled = true
method = "bearer" # "bearer" | "api_key" | "none"
token_secret = "your-secret-key"Ограничение частоты
toml
[gateway.rate_limit]
enabled = true
requests_per_minute = 60
burst_size = 10CORS
toml
[gateway.cors]
allowed_origins = ["https://app.example.com"]
allowed_methods = ["GET", "POST", "PUT", "DELETE"]
allowed_headers = ["Authorization", "Content-Type"]
max_age_secs = 86400Журналирование запросов
Все API-запросы журналируются с методом, путём, кодом статуса и временем ответа. Уровень журналирования настраивается:
toml
[gateway.logging]
level = "info" # "debug" | "info" | "warn" | "error"
format = "json" # "json" | "pretty"