allow

Директива 'allow' в модуле NGINX RTMP ограничивает доступ к потокам, разрешая только определённые IP-адреса.

Синтаксисallow IP | CIDR;
По умолчаниюnone
Контекст
Аргументы1-2

Описание

Директива 'allow' используется в контексте RTMP-приложения для указания IP-адресов, которым разрешено публиковать или воспроизводить потоки. Когда эта директива применяется, она работает совместно с директивой 'deny' для управления доступом к потоковой передаче. Для этой директивы можно указать один или два аргумента: либо отдельный IP-адрес (например, '127.0.0.1'), который позволяет доступ только с этого адреса, либо запись в CIDR для диапазона IP-адресов (например, '192.168.1.0/24'). Если директив 'deny' нет, любой адрес, явно не запрещённый, будет иметь доступ, при отсутствии определения 'allow' применяется поведение по умолчанию 'deny all'.

Расположение директивы 'allow' критично: она должна идти перед любыми директивами 'deny', чтобы корректно вступить в силу. Также, если используются обе директивы 'allow' и 'deny', преимущество будет у 'deny', обеспечивая более строгий контроль доступа. Таким образом, порядок объявления этих директив определяет фактический результат политики управления доступом для RTMP-приложения.

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

rtmp {
    server {
        listen 1935;
        application myapp {
            allow publish 127.0.0.1;
            deny publish all;
            allow play all;
        }
    }
}

Убедитесь, что 'allow' появляется перед 'deny' для корректного приоритета.

Неправильное использование нотации CIDR может привести к непреднамеренным разрешениям доступа.

Отсутствие указания 'deny' может привести к менее безопасному доступу, если 'allow' используется неоднозначно.

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