gpt4 book ai didi

ubuntu - 为什么coturn服务器返回401 : Unauthorized

转载 作者:行者123 更新时间:2023-12-04 19:07:10 30 4
gpt4 key购买 nike

我在 ubunto 16 上安装了 Coturn 服务器
目前我正在检查它

function checkTURNServer(turnConfig, timeout){ 

return new Promise(function(resolve, reject){

setTimeout(function(){
if(promiseResolved) return;
resolve(false);
promiseResolved = true;
}, timeout || 5000);

var promiseResolved = false
, myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection //compatibility for firefox and chrome
, pc = new myPeerConnection({iceServers:[turnConfig]})
, noop = function(){};
pc.createDataChannel(""); //create a bogus data channel
pc.createOffer(function(sdp){
if(sdp.sdp.indexOf('typ relay') > -1){ // sometimes sdp contains the ice candidates...
promiseResolved = true;
resolve(true);
}
pc.setLocalDescription(sdp, noop, noop);
}, noop); // create offer and set local description
pc.onicecandidate = function(ice){ //listen for candidate events
if(promiseResolved || !ice || !ice.candidate || !ice.candidate.candidate || !(ice.candidate.candidate.indexOf('typ relay')>-1)) return;
promiseResolved = true;
resolve(true);
};
});
}

const USERNAME="user"
const PASSWORD="password"
const PORT=3478
const IP="my_Coturn_server_ip" // you will have to change this

console.log('TURN server reachable on TCP?', await checkTURNServer( {
url: `turn:${IP}:${PORT}?transport=tcp`,
username: USERNAME,
credential: PASSWORD,
}))

console.log('TURN server reachable on UDP?', await checkTURNServer( {
url: `turn:${IP}:${PORT}?transport=udp`,
username: USERNAME,
credential: PASSWORD,
}))
每次我尝试检查时,我都会在服务器中得到它
14: session 001000000000000001: Realm 用户<>:传入数据包绑定(bind)过程ed,成功
14: session 001000000000000001: Realm 用户 <>:传入数据包消息处理,错误 401:未经授权
14:IPv4。本地中继地址:my_Coturn_server_ip:57906
14: session 001000000000000001:新, Realm =,用户名 =,生命周期 = 600
14: session 001000000000000001: Realm 用户:传入数据包分配已处理,成功
24: session 000000000000000001: Realm 用户:传入数据包绑定(bind)处理,成功
为什么它返回 401 ?
我如何在没有身份验证的情况下向公众开放服务器?

最佳答案

401 只是摘要认证的一部分:第一个 Allocate 请求由客户端发送,没有认证数据。
服务器使用 401 挑战分配请求,提供 Realm 和随机数。
客户端然后使用 Realm 、随机数、用户名和密码来计算身份验证 key 并再次发送分配请求,获得分配成功响应。
完整过程在 https://www.rfc-editor.org/rfc/rfc8656 中进行了解释。
通常,未经身份验证的 TURN 服务器不会向公众开放使用,因为它们的使用是资源密集型的并且可能变得非常昂贵。

关于ubuntu - 为什么coturn服务器返回401 : Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66292528/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com