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