You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx RTMP配置server_name报错 如何绑定域名限制访问

报错原因
  • server_name是Nginx HTTP核心模块的专属指令,只允许在http{}块下的server上下文使用。RTMP服务能力是第三方nginx-rtmp-module扩展的独立配置块,RTMP上下文本身不识别、不支持这个指令,所以配置检测时直接抛出指令不合法的错误。
  • 从协议层面看,RTMP握手建连阶段不会携带HTTP协议中的Host请求头,本身没有原生的域名路由匹配逻辑,无法直接照搬HTTP虚拟主机的配置方式绑定域名。
RTMP服务限制指定域名访问的实现方式

RTMP客户端发起连接时,会在connect命令里携带tcUrl字段,这个字段存储的是客户端填写的完整连接地址,包含访问使用的域名,通过匹配这个字段就能实现域名访问限制,两种常用方案如下:

轻量本地校验(无额外服务依赖)

直接在application块中匹配内置$tc_url变量,非指定域名发起的连接直接拒绝,配置参考:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                        hls on;
                        hls_path /var/www/html/stream/hls;
                        hls_fragment 3;
                        hls_playlist_length 60;

                        # 校验tcUrl中的域名是否为目标域名
                        if ($tc_url !~* "^rtmp://example.com/") {
                                deny all;
                        }
                }
        }
}

注意:过老版本的nginx-rtmp-module可能不支持$tc_url变量,升级到最新稳定版模块即可正常使用。修改完成后执行nginx -t校验通过,重载配置即可生效。

回调鉴权(适合复杂权限场景)

如果需要支持多域名、多维度的访问控制规则,可以配置on_connect回调,将连接信息发送到本地鉴权服务做判断:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                # 新连接建立前先触发本地鉴权接口
                on_connect http://127.0.0.1/rtmp/auth_check;

                application live {
                        live on;
                        record off;
                        hls on;
                        hls_path /var/www/html/stream/hls;
                        hls_fragment 3;
                        hls_playlist_length 60;
                }
        }
}

鉴权接口收到请求后,解析请求参数中的tcUrl字段提取访问域名,和允许访问的域名列表做比对,返回2xx状态码即放行连接,返回4xx/5xx状态码即直接拒绝连接。

补充:配置中开启的HLS输出走HTTP协议传输,这部分的域名访问限制直接在HTTP块对应的server中配置server_name example.com;即可,遵循HTTP模块标准的虚拟主机配置规则。

内容的提问来源于stack exchange,提问作者anamul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:06:05