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