deny
NGINX RTMP 模块中的 `deny` 指令根据客户端 IP 地址限制发布流的访问。
NGINX RTMP module
语法deny address; | deny all;
默认值none
上下文
参数1-2
说明
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 表示法可能导致意外行为。
⚠
请记住,使用 deny 拒绝 IPs 并不会阻止它们访问其他服务,除非在你的配置其他位置另有指定。