proxy_protocol_timeout
Устанавливает таймаут для получения заголовка PROXY protocol в Stream-модуле NGINX. — NGINX Stream Core
Описание
`proxy_protocol_timeout` директива задаёт максимальное время ожидания получения заголовка PROXY protocol от клиента в контексте stream-сервера. Эта директива особенно важна в сценариях, когда PROXY protocol используется для передачи сведений о подключении клиента от балансировщика нагрузки или обратного прокси к бэкенд-серверам. Если указанный таймаут истечёт до полного получения заголовка, соединение будет закрыто, что предотвращает бесконечное удержание ресурсов в ожидании неполных данных. Параметр этой директивы — значение времени, которое можно указать в секундах или в формате времени, таком как '1s', '10m', '1h' и т.д. Таймаут следует выбирать с учётом сетевой изменчивости и распределения ресурсов. Слишком короткий таймаут может привести к преждевременному закрытию соединений в средах со медленными клиентами или высокой задержкой, тогда как слишком длинный таймаут может необоснованно увеличить потребление ресурсов. Настроив `proxy_protocol_timeout`, администраторы серверов могут обеспечить более надёжную обработку установлений соединений с участием PROXY protocol, улучшая как производительность, так и опыт пользователей. Эта директива обычно используется вместе с другими конфигурациями, связанными с proxy protocol, для оптимизации поведения stream-сервера.
Пример конфига
stream {
server {
listen 1234;
proxy_protocol_timeout 5s;
}
}Убедитесь, что указанное время ожидания учитывает условия вашей сети; слишком короткое значение может нарушить легитимные соединения.
Эта директива применяется только к серверам, использующим PROXY protocol; убедитесь, что она корректно размещена в таких server-блоках.