listen
Директива `listen` в модуле NGINX SRT задаёт адрес и порт, на которых SRT-сервер принимает входящие соединения.
Описание
Директива listen в модуле NGINX SRT позволяет пользователям задать адрес и порт, на которых SRT-сервер будет слушать входящие SRT-соединения. Важно отметить, что директива требует как минимум одного аргумента, при этом адрес может быть указан в стандартном формате (например, 0.0.0.0:4321 для IPv4), и она также может включать несколько опциональных параметров, таких как backlog, bind, ipv6only и reuseport, для более тонкого управления тем, как обрабатываются соединения.
При указании директивы listen первый аргумент — это комбинация address:port, которая сообщает NGINX, к какому интерфейсу и порту нужно привязаться. Опциональный параметр backlog может задавать размер очереди ожидающих соединений, что полезно при обработке всплесков трафика. Опция bind указывает, привязывать ли сокет именно к указанному адресу, в то время как ipv6only определяет, будут ли приниматься IPv6-адреса, когда сокет привязан одновременно к IPv4 и IPv6 адресам. Наконец, reuseport позволяет нескольким сокетам слушать один и тот же IP и порт, распределяя входящие соединения между разными рабочими процессами NGINX, что может улучшить производительность при высокой нагрузке.
Эта директива действует в контексте server в SRT-конфигурации, поэтому она жизненно важна для настройки точки прослушивания как для входящего SRT, так и для TCP-трафика, обеспечивая двунаправленную передачу данных модуля.
Пример конфига
srt {
server {
listen 4321;
proxy_pass tcp://127.0.0.1:5678;
}
}Убедитесь, что указанный порт не занят другим сервисом, чтобы избежать ошибок привязки.
Обращайте внимание на формат адреса; использование неверного формата может привести к ошибкам при запуске.
Если reuseport включён, убедитесь, что NGINX собран с соответствующей поддержкой.
Отсутствие указания опции bind при использовании нескольких IP-адресов может привести к непредсказуемому поведению привязки.