`

ubuntu turnserver

 
阅读更多

1.关联文件夹

/etc/turnserver.conf

/var/log/

/usr/bin/turnserver

/usr/share/coturn

/usr/share/coturn/examples/etc

turn_server_pkey.pem

turn_server_cert.pem

turn_client_pkey.pem

turn_client_cert.pem

 

2.turnserver.conf

-----

#listening-device

监听接口设备(网卡)

#listening-port=443

TCP,UDP的监听端口(默认是3478)

注意:如果通过配置许可的话,TLS&DTLS的会话也可以连接到普通的TCP&UDP端口。

例如可以把默认的端口设定为80或433,来通过一些严格的NATs。记住小于1024的端口需要超级用户的权限来启动turnsever线程。

#tls-listening-port=443

TLS,DTLS的监听端口(默认是5349)

#listening-ip=内网IP

中继服务器的监听器IP地址。可以设定多个地址。

如果没有被设定的话,所有的系统IPv4和IPv6的IP地址都被用于监听。

#relay-ip=内网IP

中继地址。内部IP地址被用于向各个peer转播数据包

#external-ip=外网IP

如果TURN服务器位于NAT后面的时候,公有IP/私有IP的映射。

#relay-threads=50

来处理已确定连接的中继转播的线程数量。

如果被设定成0,则为一个中继转播线程。如果没有被设定的话,则为CPU的数量。

#min-port=49152

中继终端配置的UDP范围的下界,默认是49152

#max-port=65535

中继终端配置的UDP范围的上界,默认是65535

#verbose

温和的冗长模式。显示详细信息,但是比Verbose模式少得多。

#fingerprint

在TURN信息里使用指纹。如果一个连入的请求里包含指纹,TURN服务器将不管单个服务器怎么设定,会在这个会话的所有信息里加入指纹。

#lt-cred-mech

长期(long-term)认证机制。(使用WebRTC时需要设定)

#user=user:key

长期认证机制的账户。key可以是用户密码,也可以用turnadmin生成。用turnadmin生成的时候,key的前面必须加上0x,key通过用户名,领域和用户密码生成的。所以如果领域变化了的话,所有用户的key都需要重新设定。

#realm=abc.com

当在数据库中找不到明确的起点/领域的关系时,使用改设定作为用户的领域。必须和长期认证机制一起使用。

#cert=/etc/turn_server_cert.pem

证书文件,PEM格式。如果no-tls和no-dtls都被设定的时候,这个参数不需要。

#pkey=/etc/turn_server_pkey.pem

私钥文件,PEM格式。

#no-loopback-peers

不允许回送地址上的连接(127.xx.xx.xx or ::1)

#pidfile="/var/run/turnserver.pid"

保存进程PID的文件。

#mobility

支持移动的ICE(MICE)规格

#no-cli

关闭CLI支持。默认是打开的,支持远程登陆客户端连接127.0.0.1:5766。

-----

参考:

1.<https://github.com/coturn/coturn/wiki/turnserver>

2.

OK So from you answers it is likely that there are 2 reasons why this is not working.

通过你的回答,看似有两个原因:

1. TCP port (80) you are using for TURN is open to the browser with using the proxy

用于访问TURN的端口80,通过代理对浏览器开放

If this is the case the WebRTC ICE process TURN connection to port 80 will likely test OK. If it does, it will not use the web proxy. 

如果是这种情况,WebRTC ICE将通过80端口正常访问TURN,它将不使用网络代理。

To tell if this is the case you need to know the external addresses of the web proxy and the default router at network A. 

如果是这种情况,你需要知道网络代理的外部IP地址和A的默认路由。

Then check the TURN logs to see if any connection attempt came.   

之后查看TURN的日志看是否有连接访问

 

2. The web proxy is not configured to support CONNECT on port 80

网络代理没有被配置成支持80端口的连接

This is most likely the case. 

很有可能是这种情况。

If the connection to TURN has no path other than through the web proxy, 

如果对TURN的连接,只能通过网络代理而没有别的路经

the browser will try to set up a tunnel to the TURN server through web proxy. 

浏览器将试图通过网络代理,和TURN服务器建立通道。

This requires the connect method. 

这个需要连接方法。

Most proxies would not have that enabled for port 80. 

大多数的代理将不会为80端口启用这个。

In Squid for example the default config is to only support CONNECT on ports defined as SSL. Other proxies are similar.  

默认配置只会支持被定义成SSL的连接,

Don't be fooled by the browser being able to just load the TURN server default page on port 80 through the proxy. 

不要被浏览器通过代理的80端口能访问TURN服务器的默认页面而欺骗。

That is a standard HTTP request, not the type used to connect to TURN.

这个是标准的HTTP请求,不是用于连接TURN的连接类型

 

I understand now i have to use 443 CONNECT method with SSL/TLS (and drop the use case of 80 in such environment, because there only CONNECT method should work)

我懂了,只能通过SSL/TLS的443端口连接方法(并且放弃80端口,因为只有连接方法能访问)

 

---

分享到:
评论

相关推荐

    peerconnection_server和peerconnection_client

    - **Ubuntu 18编译**: 服务器通常需要稳定性和性能,Ubuntu 18.04 LTS(长期支持版本)是一个常用的选择,提供长期维护和更新。 - **跨平台兼容性**: "可以在CentOS 7上运行"表明该服务端代码可能使用了跨平台库或...

    webrtc_Linux源代码获取以及编译

    TURN Server 是 Webrtc 的一个示例程序,用于实现 TURN 服务器。我们可以使用以下命令运行 TURN Server: ``` ./out/Default/turn_server ``` 本文介绍了如何获取 Webrtc 的源代码、建立编译环境、编译 Webrtc ...

    AppRTC搭建201908301

    本篇文章将详细介绍如何在 Ubuntu 16.04 Server 版本上搭建 AppRTC 环境,包括其组成部分、必要的准备工作以及关键组件的安装。 **AppRTC 组件** 1. **AppRTC 房间+Web服务器**:这部分由 Python 和 JavaScript ...

    RTCMultiConnection 基于webrtc的音视频流媒体服务器

    - 修改配置文件:`sudo cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf` 至此,我们已经完成了RTCMultiConnection的部署和配置穿透服务器的过程。接下来可以根据具体需求进一步优化和...

    KMS视频推流服务搭建.txt

    本文档将详细介绍如何在Ubuntu 16.04 (Xenial) 和 Ubuntu 18.04 (Bionic) 上部署KMS视频服务。 #### 二、环境准备与软件安装 ##### 2.1 系统环境 - **Ubuntu 16.04 (Xenial)**:64位 - **Ubuntu 18.04 (Bionic)**...

    Steakhouse_Wagon:在不使用JavaScript,库和框架的情况下创建了牛排餐厅Web应用程序。 只是普通HTML和CSS

    Visual Studio Code with Live Server Extension (to see output as you code)- Notepad++- glitch = an alternative instead of using Visual Studio Code = https://glitch.com/其他资讯- used Ubuntu terminal =...

    vs-webrtc-master_webrtc_视频通话_视频服务器_

    构建流媒体服务器涉及安装和配置Kurento Media Server,通常在Ubuntu服务器上进行。需要安装必要的依赖,如OpenSSL、gstreamer及其插件,然后部署Kurento服务。 5. **在线视频通话实现**: 使用JavaScript编写...

    web服务器的搭建-.ppt

    1. 选择并安装服务器操作系统,常见的有Windows Server系列或Linux发行版如Ubuntu、CentOS等。 2. 设置服务器的网络IP地址,确保服务器能够正常访问和被访问。 接下来,我们以Windows Server为例,介绍如何安装Web...

    Personal_Portfolio.github.io:使用HTML,CSS和一点点JavaScript创建了一个个人投资组合网站

    CSS和一点点JavaScript创建了一个个人投资组合网站使用的技术和应用* Visual Stdio Code with Live Server extension and Remote - WSL extensions* Ubuntu terminal (Windows Subsystem for Linux" must be turn on...

    Bochs - The cross platform IA-32 (x86) emulator

    Changes in 2.4.6 (February 22, 2011): Brief summary : - Support more host OS to run on: - Include win64 native binary in the release. - Fixed failures on big endian hosts. - BIOS: Support for up to...

Global site tag (gtag.js) - Google Analytics