deny
Директива `deny` в модуле NGINX RTMP ограничивает доступ к публикации потоков на основе IP-адресов клиентов.
Описание
Директива deny используется в модуле RTMP для управления доступом к возможностям потоковой передачи сервера. Она может принимать один или два аргумента, которые указывают, каким клиентам запрещено публиковать потоки. При использовании директива проверяет IP-адрес клиентов, пытающихся подключиться и публиковать потоки. Если IP клиента соответствует указанному правилу deny, сервер отклоняет его запрос. Эта функция важна для защиты ваших потоков и предотвращения публикации неавторизованными пользователями потенциально вредоносных или нежелательных потоков.
Директива работает путём сопоставления с IP-адресом подключающегося клиента, что позволяет либо блокировать конкретные адреса, либо разрешать только определённые адреса, одновременно запрещая остальные с помощью allow в сочетании с deny. Последовательность директив allow и deny имеет значение: сервер обрабатывает их по порядку, пока не найдёт совпадение. Если совпадение не найдено, но присутствует правило deny all, соединение будет отклонено. Поэтому порядок этих директив в вашей конфигурации может привести к более строгой или более либеральной политике доступа.
Директива deny также может поддерживать нотацию CIDR для указания диапазонов IP-адресов, что позволяет более эффективно задавать массовые ограничения. Эта гибкость особенно полезна для крупных организаций или в ситуациях, когда нужно эффективно управлять доступом между несколькими клиентскими серверами или сетями.
Пример конфига
application live {
live on;
allow publish 192.168.0.0/24;
deny publish all;
}Убедитесь, что вы добавляете директивы allow перед deny там, где это необходимо, чтобы обеспечить корректный порядок управления доступом.
Обратите внимание на формат IP; некорректная нотация CIDR может привести к непредвиденному поведению.
Помните, что блокировка IPs не мешает им получать доступ к другим сервисам, если это не указано в другой части вашей конфигурации.