so_keepalive

Директива `so_keepalive` включает или отключает функцию TCP keepalive для RTMP-соединений.

Синтаксисso_keepalive on | off;
По умолчаниюoff
Контекст
Аргументыflag

Описание

Директива so_keepalive является частью модуля NGINX RTMP и используется для управления параметрами TCP keepalive для RTMP (Real-Time Messaging Protocol) соединений. При установке значения 'on' она приказывает серверу NGINX включать отправку keepalive-пакетов для открытых соединений, что помогает поддерживать постоянные соединения, предотвращая их таймауты в периоды неактивности. Это особенно полезно в стриминговых приложениях, где поддержание открытого соединения с клиентами необходимо для плавного воспроизведения.

Директива работает путем корректировки настроек на базовых TCP-сокетах для периодической отправки keepalive-пакетов. Это помогает обнаруживать неработающие узлы и освобождать ресурсы, связанные с неактивными соединениями. Для эффективности в эксплуатации её часто сочетают с другими директивами, управляющими состоянием соединений, что делает её критически важной настройкой для приложений, требующих высокой доступности и минимальных сбоев. Важно учитывать влияние сетевых настроек, так как неправильное использование может привести к избыточному сетевому трафику или обрывам соединений при некорректной конфигурации.

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

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            so_keepalive on;
        }
    }
}

Включение keepalive может увеличить сетевой трафик из-за периодической отправки keepalive-пакетов по сети.

Настройки сервера по умолчанию могут переопределять или конфликтовать с этой директивой — убедитесь, что она правильно настроена в соответствующем контексте.

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