问题标签 [coturn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - 使用 SSL 和其他服务器在 NGINX 后面代理 COTURN
我正在尝试在一个困难的网络中使用 webrtc,该网络会阻止除 80 和 443 出站和所有入站之外的所有端口。所以我需要一个运行的 coturn 服务器来监听带有 SSL 证书的 80 和 443。我想将它与 REST API 服务器、一些 websocket 服务器和托管静态文件的 NGINX 一起运行。我从这个工作的 nginx 配置开始。另一个问题中有一个关于如何在根上转发的示例。但我无法让同样的事情与路径一起工作。例如,我希望转向服务器在<url>/coturn
. 我希望 ssl 由 nginx 处理,但如果该作业被传递给 coturn 就可以了。
任何人都可以向我展示一个处理 coturn 的 nginx 配置与这样的多个其他端点吗?
编辑:这是一个非常小的配置,只是试图让代理工作与此类似:
域引用由我运行的docker-compose给出。
但是通过涓涓细流运行它,我得到一个不可访问的错误。如果我改为运行暴露在互联网上的coturn ,那么它似乎可以按预期工作。
webrtc - 连接问题 webRTC 应用程序。只能在本地工作,不能在移动设备上工作
非常感谢在这个问题上的一些帮助。不知道如何继续。
试图制作一个 webRTC 应用程序。信令服务器是 Node.js 上的 WebSocket。由于某种原因无法与手机建立连接。使用 - 或 - 尝试使用 coturn。我不确定问题是客户端还是服务器端@coturn 中继服务器。
在我的情况下,呼叫者是调节器路由器后面的电脑,被呼叫者是手机,turn 和 websocket 是公共的。
来自调用者和被调用者的最后发送的候选人是 null(candidate:null) 也是由两者添加的addIceCandidate(candidate)
在被调用者获得候选事件“candidate:null”后,被调用者获得“handleICEConnectionStateChangeEvent:失败”最后我在控制台中收到此错误消息:
ICE 失败,您的 TURN 服务器似乎已损坏,有关详细信息,请参阅 about:webrtc
这是我通过公共 google stun 服务器以及我的 coturn stun/turn 收到的最后一个也是唯一的错误消息。
我应该提供哪些有意义的信息?我应该在哪里搜索错误?真的不知道。
非常感谢提前干杯
node.js - 如何配置 WebRTC 以连接到我的 TURN 服务器?
我正在做一个非常基本的 WebRTC 项目,但我似乎无法让我的网站连接到我的 TURN 服务器。我在本地机器(MacOS 10.15.4)上使用 coturn 设置了 TURN 服务器,我很确定它的工作和配置正确。(当我从https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/测试它时,我可以从本地内部和外部看到一个 rtp 主机、rtp srflx 和一个 rtp 中继网络,所以我假设这意味着它按预期工作。)
该网站是此 codelab 的第 5 步示例的略微修改版本,对 node.js index.js 文件进行了轻微修改,以通过 https 托管网站,以允许从本地网络外部访问网络摄像头。
只要两个客户端都在同一个网络上,一切都可以正常工作(因此不需要 TURN 服务器),但是一旦其中一个客户端尝试从另一个网络连接到另一个客户端,PeerConnection 就不会正确建立并且两个客户端都只能看到自己的 localStream。
我认为网站上的 JavaScript 缺少某些内容,因为当我从webrtc.github.io示例测试 TURN 服务器时,我在终端中看到了 TURN 服务器的以下输出:
(显然 xxx 是实际输出中的实际数字)
但是,当不同网络上的两个客户端尝试加载页面并启动对等连接时,我的终端中根本没有 coturn 的输出,所以我猜测我网站的 JavaScript 中的某些内容丢失了,并且它没有使用我的 TURN 服务器。这是目前网站上与TURN服务器相关的所有代码:
在控制台中,我看到了消息Requesting TURN server...
和Turn ready at: turn:xxx.xxx.xxx.xxx:3478
但由于我在终端中没有从我的 TURN 服务器获得任何输出,我猜该网站实际上根本没有向 TURN 服务器发出请求。我可能在我的客户端 JavaScript 中遗漏了一些明显的东西,但我不知道是什么,所以我希望有人有一些想法并可以提供帮助!
webrtc - 在同一个网络中部署 TURN 和媒体服务器有意义吗?
假设我们S
部署了一个媒体服务器。我们有一个C
在对称 NAT 后面的客户端。由于对称 NAT,直接 WebRTC 媒体流是不可能的。所以我们想部署一个 TURN 服务器T
,它将在S
和之间中继所有媒体C
。
现在,为了简单起见,似乎开发人员有时会T
在附近部署S
。但它有助于在C
和之间传输媒体S
吗?“近”的意思是“在同一个网络中”,所以如果有的话S
,它们都在同一个 NAT 后面。T
由于它们位于相同的 NAT 后面,因此似乎并没有改善连接性:在 和 之间传输 WebRTC 流量的机会与在S
和之间C
相同。T
C
这个推理是正确的还是我错过了什么?在我目前的理解中,TURN 服务器就像一个代理,具有更好的连接性C
。所以它们应该被放置在另一个网络中以产生任何效果。
webrtc - 无法访问 coturn 网络管理员
我在 Centos 7 上使用 Coturn。我创建了一个管理员用户并存储在 mySQL 中,我可以通过命令列出管理员用户:
turnadmin -L -M "host=localhost dbname=turndb user=coturn 密码=password port=3306 connect_timeout=10 read_timeout=30"
但我无法登录到 Web Admin。相反,我看到了这条消息:
TURN 服务器 https 管理员连接
要使用 HTTPS 管理员连接,您必须使用管理员用户帐户设置数据库表 admin_user。
为什么?
webrtc - Web RTC 项目的 Co-Turn 服务器无法正常工作
我有一个使用 co-turn 并托管在 GCP 上的转弯服务器。
并且已经成功安装服务器没有任何错误并启用了端口。
但是当我在我的 web rtc 项目中使用它时,它似乎不起作用,因为我的应用程序只能在同一个路由器或网络上运行。
它不适用于其他网络。
我尝试检查https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/并得到以下结果,表明它很好。
所以,我有点迷失在哪里检查了。
请帮助我在其他任何地方可以检查的内容。谢谢。
============================================
添加外部 IP 后更新。
最近更新
当我在 chrome://webrtc-internals/ 上调试时,icecandidateerror 事件中有一条错误消息,状态为未经授权。
当我重新检查参考此链接创建的转向服务器时,我仍然有 user=guest:somepassword 行,因此使用该密码尝试我的服务器以确认是否是用户问题。
不过还是没有运气。请帮助我指导我需要更多研究的地方。
由于我对这项技术和基础设施不熟悉,所以我在这里有点迷路。
webrtc - STUN 服务器地址不兼容 | 错误代码=701:
我已经安装了 TURN 服务器,服务器代码中的所有内容都运行良好。日志文件中没有错误。只有一个警告说明
但 TURN 服务器在服务器上运行。
这是我检查时显示的内容lsof -i :3478
当我在Trickle ICE中检查 STUN 时,它会引发错误
这出了什么问题。
谢谢
safari - iOS 中 Safari 上的 TURNS / TURN 协议
我目前正在手机上测试不同的 TURN 解决方案,并注意到加密的 TURN 在 Safari 上不起作用。
当我定义一个单一的 TURN 服务器时:
turn:my-turn.com:443
它可以正常工作。如果我定义一个单一的 TURN 服务器:
turns:my-turn.com:443
我无法在 Safari (iOS 13.5.1) 上使用 LTE/3G 与我的 iPhone 建立连接,因为需要 TURN 服务器。我希望我的客户始终使用加密协议,但现在也必须向服务器添加未加密版本。有谁知道这种行为的原因或我如何让 Safari 使用加密的 TURNS 协议?我在 TURN 服务器上使用 CoTurn。
提前致谢。
webrtc - 转服务器中继端口在严格的防火墙中被阻止
我已经建立了两个转服务器(Coturn)和一个信令服务器。它适用于普通网络。
当涉及到严格的防火墙时
转服务器中继端口范围被阻止并在防火墙中视为威胁。
谁能建议如何解决这个阻塞?
在哪里允许端口范围(客户端或转向服务器端)?
对 webrtc 的新手,任何建议表示赞赏。