5 ssl centos webrtc rfc5766turnserver turn
我为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
Run Code Online (Sandbox Code Playgroud)
问题:当TURN客户端使用以下原语连接到TURN服务器上方的原语时,将出现自动TURN会话关闭问题。
config: '{"iceServers":[{"urls":"stun:stun.l.google.com:19302"},
{"credential":"root","urls":"turn:root@XXXXX:443?transport=tcp"}],
"iceTransports":"relay"}';
Run Code Online (Sandbox Code Playgroud)
注意:443 TCP
要么
config: '{"iceServers":[{"urls":"stun:stun.l.google.com:19302"},
{"credential":"root","urls":"turn:root@XXXXX:80?transport=tcp"}],
"iceTransports":"relay"}';
Run Code Online (Sandbox Code Playgroud)
注意:80 TCP
我想我回答这个问题有点晚了,希望它能帮助以后偶然发现这个问题的人。
我认为您不能直接在 TURN 配置文件中添加用户,无论是单独的平面文件/某些数据库还是用于启动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
Run Code Online (Sandbox Code Playgroud)
开始 cmdwould 是: 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
Run Code Online (Sandbox Code Playgroud)
注意:这是否托管在 NAT 之后(通常在 Amazon EC2 的情况下),external-ip需要另一个字段。
和配置(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'
}
]
};
Run Code Online (Sandbox Code Playgroud)
至于生成证书和私钥,您可以使用openssl:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 3001 -nodes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |