allow
NGINX RTMP 模块中的 'allow' 指令通过允许特定 IP 地址来限制流媒体访问。
NGINX RTMP module
语法allow IP | CIDR;
默认值none
上下文
参数1-2
说明
在 RTMP 应用上下文中使用 'allow' 指令来指定哪些 IP 地址被允许发布或播放流。使用此指令时,它与 'deny' 指令配合使用以管理流操作的访问控制。可以为该指令指定一个或两个参数:要么是单个 IP 地址(例如,'127.0.0.1'),这将仅允许该地址访问,要么是用于表示 IP 范围的 CIDR 表示法(例如,'192.168.1.0/24')。如果没有存在任何 'deny' 指令,则任何未被明确拒绝的地址都将被允许访问;在未定义 'allow' 时,将应用默认的 'deny all' 行为。
'allow' 指令的放置顺序非常关键;它必须出现在任何 'deny' 指令之前才能正确生效。此外,如果同时使用 'allow' 和 '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' 使用不明确,可能导致访问安全性降低。