push_stream_timeout_with_body

Директива `push_stream_timeout_with_body` задаёт период ожидания для push stream соединений, в ответе которых присутствует тело.

Синтаксисpush_stream_timeout_with_body value;
По умолчаниюnone
Контекстhttp
Аргументы1

Описание

Директива push_stream_timeout_with_body — важный параметр конфигурации в NGINX Push Stream Module, который определяет, как долго сервер будет ждать активности соединения подписчика, когда в ответе присутствует тело. Эта директива особенно актуальна для долговременных соединений, таких как используемые с EventSource или WebSockets, где сервер постоянно отправляет данные клиенту. Задавая длительность таймаута, сервер может закрывать неактивные соединения и освобождать ресурсы, обеспечивая эффективную обработку активных соединений подписчиков.

Директива принимает один аргумент, задающий период таймаута, который определяется в секундах. Если таймаут достигается в процессе ожидания отправки данных клиенту, сервер завершает соединение. Это важно для поддержания производительности и отзывчивости в сценариях с большим количеством одновременных подписчиков, поскольку предотвращает бесконечное потребление серверных ресурсов "мертвых" соединений. Администраторы могут настраивать это значение таймаута в зависимости от конкретных потребностей приложения, например паттернов взаимодействия пользователей или частоты обновления данных.

Чтобы применить эту директиву, её нужно разместить в HTTP-контексте конфигурации NGINX. Это позволит ей влиять на все соответствующие push stream соединения, управляемые NGINX. Гибкость, предоставляемая этой опцией конфигурации, даёт администраторам серверов возможность эффективно балансировать использование ресурсов и опыт клиента.

Пример конфига

http {
    push_stream_timeout_with_body 30s;
}

Установка слишком малого таймаута может привести к преждевременному разрыву соединения, особенно в условиях высокой задержки.

Если тело ответа не отправляется, таймаут может не применяться, что может привести к путанице при тестировании поведения с различными типами ответов.

← Ко всем директивам