N
O
D
E
M
E
D
I
A
Thinking
首页
产品
文档
博客
订单
文档
直播鉴权
2026年 5月 20日 下午3:36
NMS内建支持简单且非常安全的,基于密码和过期时间的鉴权模式。 与阿里云的直播鉴权模式比较类似。 ## 开启方法 打开config.ini ### 鉴权密码 ``` auth_key = authkey@2019 ``` ### 播放鉴权开关 ``` auth_play = 1 ``` 0-关闭,1-打开 ### 推流鉴权开关 ``` auth_push = 1 ``` 0-关闭,1-打开 ## 使用方法 鉴权原理就是将流地址中的信息+过期时间+密码的字符串,再md5后作为最后参数发给NMS进行判断。 比如一个原始流地址是 rtmp://example.com/live/stream http://example.com/live/stream.flv ws://example.com/live/stream.flv http://example.com/live/stream.m3u8 1. 它的流信息就是 /live/stream >flv,hls 等无需后缀名 2. 我们希望生成的url在30秒后过期,那么取出当前的unix时间(单位秒)+ 30 1575453962 3. 密码是上面设置的 authkey@2019 4. 组合在一起的字符串是 /live/stream-1575453962-authkey@2019 >各参数间使用 - 符号连接 5. 对这个字符串进行md5 (使用小写) 22d7d03aa3fe7d880f29bed08ccb25f0 6. 最终url是 rtmp://example.com/live/stream?sign=1575453962-22d7d03aa3fe7d880f29bed08ccb25f0 http://example.com/live/stream.flv?sign=1575453962-22d7d03aa3fe7d880f29bed08ccb25f0 ws://example.com/live/stream.flv?sign=1575453962-22d7d03aa3fe7d880f29bed08ccb25f0 http://example.com/live/stream.m3u8?sign=1575453962-22d7d03aa3fe7d880f29bed08ccb25f0 >sign字段名是nms约定,不能更改 ## 安全性 md5后的验证信息包含了流信息,过期时间,密码3个要素, 就算链接地址被截取或公开,也无法修改流地址,过期时间。 url过期后也无法继续使用。 ## 安全提示 url的生成,最好放在web服务端生成后返回给客户端,客户端直接用于连接。 避免在客户端保存密码并生成,导致程序反编译后密码泄露 过期的时间越短安全度越高,但也需要考虑网络连接时间,操作速度,客户端服务端时间差等因素。 url过期后无法继续使用,断线后重连需要重新生成。 ## 重要提醒 服务器时间请确保与UTC同步,否则可能会导致计算出的+30秒的时间戳仍然过期的问题,或者+30秒后仍不过期的安全问题。 ## 推流器鉴权 如果只使用编码器推流,那么可以忽略时间过期的验证,将时间戳设置为非常久之后,则只需在编码器中设置一次推流地址。 ## 本机测试 请注意:通过在本机架设服务器并通过本机访问localhost,127.0.0.1地址,会免除鉴权。 请通过外部主机测试。 ## 测试用鉴权地址在线生成器 https://cdn.nodemedia.cn/nms-url-sign/index.html
嘿,我是小R,需要帮助随时找我哦
QQ客服:281269007
邮件支持
扫码加微信
回到顶部