nchan_websocket_ping_interval

Директива 'nchan_websocket_ping_interval' задаёт интервал, с которым отправляются ping-сообщения в подключениях WebSocket для их поддержания в рабочем состоянии.

Синтаксисnchan_websocket_ping_interval seconds;
По умолчаниюnone
Контекстserver, location, if in location
Аргументы1

Описание

Директива 'nchan_websocket_ping_interval' критически важна для поддержания постоянных соединений с WebSocket-клиентами в модуле Nchan для NGINX. Эта директива определяет частоту, с которой ping-сообщения отправляются по открытым WebSocket-соединениям, эффективно обеспечивая, что соединение остаётся открытым и активным. Посылая периодические ping-сообщения, сервер может обнаруживать и очищать неактивные соединения, тем самым оптимизируя использование ресурсов и повышая производительность.

Интервал указывается в секундах, и установка подходящего значения важна для баланса между поддержанием активных соединений и избеганием избыточного сетевого трафика. Если интервал слишком велик, соединения могут разорваться из-за бездействия; если слишком мал — это может нагрузить сервер чрезмерным количеством ping-сообщений. Это особенно полезно в сценариях с большим числом клиентов, где таймауты могут происходить между сигналами из-за сетевых проблем или если клиенты уходят офлайн. Директива может применяться в различных контекстах, таких как server, location, or if within a location block, что даёт гибкость в конфигурации в зависимости от конкретных потребностей приложения.

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

location /ws {
    nchan_websocket_ping_interval 30;
    nchan_pubsub;
}

Будьте осторожны, не устанавливайте интервал слишком низким, чтобы не перегружать клиентов слишком частыми pings.

Если сервер находится за межсетевым экраном или прокси, убедитесь, что они безопасно пропускают WebSocket ping messages.

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