相关疑难解决方法(0)

TURN 服务器中的“领域”是什么?

我想为我的 WebRTC 项目托管一个 TURN 服务器,但我不知道 'realm' 属性的作用。我看过 coturn 和 pion,他们似乎都要求我输入这个。有人可以解释它是什么吗?

webrtc turn coturn

16
推荐指数
1
解决办法
6143
查看次数

使用REST API身份验证为WebRTC TURN服务器

我正在尝试从这里为webRTC设置rfc5766-turn-server TURN服务器.我能够使用turnuserdb.conf我的用户名和密码(my_user_name:my_password)通过此TURN服务器成功中继我的视频.在Web客户端,我用过:

"iceServers":{[
    "url": "turn:my_user_name,@turn_server_ip",
    "credential":"my_password"
}]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用TURN服务器附带的REST API功能,以避免通过网络发送密码或将其存储在客户端.我在Rest API下 遵循了这个规范这个解释

但不幸的是,我得到了401,我无法进行身份验证.

这就是我所做的:

  1. 我创建了一个秘密"my_secret",我像这样运行转弯服务器:

    turnserver -v --syslog -a -L xx.xxx.xx.xx -X yy.yyy.yyy.yy -E zz.zzz.zz.zzz --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --static-auth-secret=my_secret --realm=north.gov --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout -q 100 -Q 300 --cipher-list=ALL
    
    Run Code Online (Sandbox Code Playgroud)

    (我刚刚更换了IP地址xx.xxx.xx.xx yy.yyy.yyy.yy zz.zzz.zz.zzz)

  2. 后来我生成了一个时间戳,现在是+ 1小时,所以我在nodejs上运行:

    Date.now()+1000*60*60;      // output 1433895918506.
    
    Run Code Online (Sandbox Code Playgroud)

    我在这个网站上生成了临时密码,使用我的秘密,并得到了一个结果0ca57806bdc696b3129d4cad83746945b00af77b

  3. 我将密码编码为base64.

  4. 现在我尝试使用临时用户名:1433895918506:my_user_name和密码:MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg==在Web客户端上记录与转弯服务器的通信, 现在我使用的是Web客户端

    "iceServers":"url":"turn:1433895918506:my_user_name@turn_server_ip","credential":"MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg=="}]
    
    Run Code Online (Sandbox Code Playgroud)

但它没有用,我得到:

401 user <1433895918506:my_user_name>  incoming …
Run Code Online (Sandbox Code Playgroud)

javascript authentication rest webrtc turn

5
推荐指数
1
解决办法
3877
查看次数

标签 统计

turn ×2

webrtc ×2

authentication ×1

coturn ×1

javascript ×1

rest ×1