http2_recv_timeout

Директива http2_recv_timeout задаёт максимальное время ожидания получения данных от клиента по соединению HTTP/2 перед тайм-аутом. — NGINX HTTP Core

http2_recv_timeout
httpserver
Синтаксисhttp2_recv_timeout time;
По умолчаниюnone
Контекстhttp, server
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `http2_recv_timeout` применима в контекстах `http` и `server` и определяет, сколько времени сервер будет ожидать получения дополнительных данных от клиента по соединению HTTP/2. Если указанное время истекает и данные не поступают, сервер завершит соединение, закрыв socket. Это важно для контроля использования ресурсов и предотвращения того, чтобы соединения оставались открытыми бесконечно из-за отсутствия активности со стороны клиента. Параметром этой директивы является значение времени, которое можно задавать в секундах или в более мелких единицах, что позволяет точно регулировать длительность тайм-аута. При настройке этого значения следует учитывать характер клиентских запросов и ожидаемые модели соединений. Если значение установить слишком коротким, это может привести к преждевременному разрыву соединений у клиентов, которым требуется больше времени для отправки данных; наоборот, слишком большое значение может вызвать истощение ресурсов из-за длительно простаивающих соединений. На практике директива `http2_recv_timeout` дополняет другие параметры конфигурации, связанные с тайм-аутами, позволяя администраторам тонко настраивать отзывчивость сервера и управление ресурсами в зависимости от требований приложения и ожидаемых шаблонов трафика.

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

server {
    listen 443 ssl http2;
    http2_recv_timeout 10s;
}

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

Эта директива применяется только к соединениям HTTP/2; убедитесь, что её не путают с другими директивами таймаута для разных протоколов.