TURN 服务器,端口 5349 上的 TLS 不起作用

问题描述 投票:0回答:2

我已经设置了我的轮流服务器,并在 IceTricklePage 上进行了测试。 非安全端口 3478 工作得很好,我可以收集类型为“relay”的候选者。 但使用安全端口 (TLS) 5349 时,它总是失败。 服务器turn:xx.xx.xx.xx:5349?transport=tcp返回错误,代码=701。

下面是我的turnserver.conf文件:

# /etc/turnserver.conf

# STUN server port is 3478 for UDP and TCP, and 5349 for TLS.
# Allow connection on the UDP port 3478
listening-port=3478

# and 5349 for TLS (secure)
tls-listening-port=5349
external-ip= xx.xx.xx.xx
listening-ip=0.0.0.0


allow-loopback-peers
no-multicast-peers

min-port = 49152
max-port = 49365
verbose

# Require authentication
fingerprint
lt-cred-mech
# We will use the longterm authentication mechanism, but if
# you want to use the auth-secret mechanism, comment lt-cred-mech and 
# uncomment use-auth-secret
# Check: https://github.com/coturn/coturn/issues/180#issuecomment-364363272
#The static auth secret needs to be changed, in this tutorial
# we'll generate a token using OpenSSL
#use-auth-secret
# static-auth-secret=replace-this-secret
# ----
# If you decide to use use-auth-secret, After saving the changes, change the auth-secret using the following command:
# sed -i "s/replace-this-secret/$(openssl rand -hex 32)/" /etc/turnserver.conf
# This will replace the replace-this-secret text on the file with the generated token using openssl. 

# Specify the server name and the realm that will be used
# if is your first time configuring, just use the domain as name
server-name=turn.mydomain.com
realm=turn.mydomain.com
#

# Important: 
# Create a test user if you want
# You can remove this user after testing
user=user:password

total-quota=100
stale-nonce=600

# Path to the SSL certificate and private key. In this example we will use
# the letsencrypt generated certificate files.
cert=/etc/coturn/turn_cert/turn.mydomain.com/cert.pem
pkey=/etc/coturn/turn_cert/turn.mydomain.com/privkey.pem

# Specify the allowed OpenSSL cipher list for TLS/DTLS connections
cipher-list="ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"

# Specify the process user and group
proc-user=turnserver
proc-group=turnserver

# Log file path
log-file=/var/log/turnserver.log
simple-log
#syslog

我还配置我的路由器,将任何到公共 xx.xx.xx.xx:5349 的传输端口重定向到运行 TURN 服务器的内部服务器(类似于我对 3478 所做的方式)。

以下是配置: enter image description here

有人知道如何解决这个问题吗?谢谢

webrtc turn
2个回答
1
投票

尝试

telnet xx.xx.xx.xx 5349
查看是否连接成功。如果您得到
telnet: Unable to connect to remote host: Connection refused
,则您的网络配置不正确,需要更改。 这里有相关的东西


0
投票

经过长时间的研究,我发现了以下原因来解释为什么启动 coturn 服务器

sudo systemctl start coturn

仅启动端口 3478(不安全)的服务,但不启动端口 5349(安全)连接

coturn 用户“turnserver”和组“turnserver”对证书文件没有足够的权限

解决步骤 验证文件权限:确保 Turnserver 用户可以读取证书文件及其父目录。

  1. sudo chown Turnserver:turnserver /path/to/certificate.pem

  2. sudo chmod 640 /path/to/certificate.pem

  3. sudo chown Turnserver:turnserver /path/to/privatekey.pem

  4. sudo chmod 640 /path/to/privatekey.pem 或者编辑 coturn.service 的 {Service} 部分

添加或修改【服务】部分:

[Service]
User=root
Group=root

退出,保存并重启coturn服务

© www.soinside.com 2019 - 2024. All rights reserved.