rfc5766-turn-server - 如何用它启用TLS和HTTP CONNECT方法?

时间:2014-07-16 08:00:42

标签: ssl centos webrtc turn rfc5766turnserver

我对rfc5766-turn-server进行了以下设置,但我还不确定如何在turnserver.conf中启用TLS?

知道缺少什么来确保TLS被激活以及缺少哪些其他相关来源?

# cat turnserver.conf
user=root:root
realm=x.x.x.x
#no-tls
#no-dtls
syslog
aux-server=x.x.x.x:80
aux-server=x.x.x.x:443

问题:当TURN客户端连接以下基元时,对于TURN服务器上方,则会出现自动TURN会话关闭问题。

config: '{"iceServers":[{"urls":"stun:stun.l.google.com:19302"},        
         {"credential":"root","urls":"turn:root@XXXXX:443?transport=tcp"}], 
          "iceTransports":"relay"}';

注意:443 TCP

config: '{"iceServers":[{"urls":"stun:stun.l.google.com:19302"},        
         {"credential":"root","urls":"turn:root@XXXXX:80?transport=tcp"}], 
          "iceTransports":"relay"}';

注意:80 TCP

1 个答案:

答案 0 :(得分:4)

我想我迟到了回答这个问题,希望能帮助后来会偶然发现这个问题的人。

我认为你不能直接在TURN配置文件中添加用户,无论是单独的flatfile / some db还是用于启动turnserver(或通过turnadmin)的命令的一部分

让我们假设侦听ip是XXXXX和端口PPP(根据我的理解,这个端口可以是你想要的任何东西,无论传输是udp还是tcp如果你在端口< 1024上运行,你将需要提升访问权限)

使用turnconfig文件(turnconfig.conf):

listening-ip=XXXXX
tls-listening-port=PPP
cert=( certificate location)
pkey=( private key location)
lt-cred-mech
realm=someRealm
log-file=/var/tmp/turn.log
no-sslv2
no-sslv3

开头cmd应该是:turnserver -v -c turnconfig.conf -o -u user:root

没有配置文件:

turnserver --tls-listening-port PPP -L XXXXX -r someRealm -a -o -v -n -u user:root -l '/var/tmp/turn.log' --no-sslv2 --no-sslv3 

注意:这是在NAT后面托管的(通常是在Amazon EC2的情况下),需要另一个feild external-ip

和config(WebRTC应用程序上的RTCPeerConnection)是:

config: {
            'iceServers':[
                {
                    'url': 'stun:stun.l.google.com:19302' 
                },
                {   
                    'url': 'turn:user@XXXXX:PPP?transport=udp',
                    'credential': 'root'
                },
                {   
                    'url': 'turn:user@XXXXX:PPP?transport=tcp',
                    'credential': 'root'
                }
            ]
    };

对于生成证书和私钥,您可以使用openssl

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 3001 -nodes