我正在构建一个需要Coturn服务器的WebRTC项目。我是 努力设置用于开发的localhost版本。请 不建议使用第三方TURN服务器。我一直在使用它们 到此为止,并且存在不一致的连接和延迟问题,因此 现在打算主办一个。
该项目正在使用docker
。我正在使用的coturn
图片是
https://github.com/kevzettler/coturnDockerLongTermCredentials
我正在尝试手动docker run
容器并使它工作。
docker run \
--name turnserver \
--net=host \
-e "TURN_PORT_START=49152" \
-e "TURN_PORT_END=65535" \
-e "TURN_REALM=projectName" \
-d \
-t \
meetrix/coturn-long-term-cred
测试与我正在使用的转弯服务器的连接
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
并将其指向turn:0.0.0.0
我可以在生产托管计算机上执行此操作,并使用the流冰页面成功连接。但是,本地主机失败。
我想获得本地Coturn设置,以便可以离线开发。我认为主要问题在于开放的PORTS。
Coturn希望开放49152-65535
的大量端口。如果我们更新
docker命令显式公开这些端口,例如:
docker run \
--name turnserver \
-p 3478:3478/udp \
-p 3478:3478 \
-p 49152-65535:49152-65535/udp \
-e "TURN_PORT_START=49152" \
-e "TURN_PORT_END=65535" \
-e "TURN_REALM=projectname" \
-d \
-t \
meetrix/coturn-long-term-cred
泊坞窗守护程序将崩溃。
这就是为什么初始运行命令和生产使用--net=host
的原因。 --net=host
将
使用主机防火墙而不是dockers
。
主机
macOS Sierra适用于此本地开发环境。我怀疑港口
在--net=host
情况下无法在macOS级别上打开。