so_keepalive
Директива `so_keepalive` включает или отключает функцию TCP keepalive для RTMP-соединений.
Описание
Директива 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-пакетов по сети.
Настройки сервера по умолчанию могут переопределять или конфликтовать с этой директивой — убедитесь, что она правильно настроена в соответствующем контексте.