如何通过 TCP/443 从客户端使用 STUN/TURN 服务器

如何通过 TCP/443 从客户端使用 STUN/TURN 服务器

我已经安装了自己的 STUN/TURN 服务器,并尝试从防火墙后面的 WebRTC 客户端使用它,该防火墙仅允许 TCP/443 访问互联网,但没有成功。

我尝试了以下操作,但没有成功:

  • 在客户端防火墙上将 UDP/3478 替换为 TCP/3478 或 TCP/5349 或 UDP/5349
  • 信令服务器上的 URL 转向:(主机 FQDN)?transport=tcp
  • 在 turnserver.conf 中使用 on-udp 和/或 listening-port=443
  • 我已检查证书,并且它们对于特定服务器的 FQDN 有效。

唯一成功的尝试是

  • 我注释掉了 turnserver.conf 中的“tls-listening-port=443”行,如下所示
  • 我打开了从客户端到 STUN/TURN 服务器的 UDP/3478。
  • 我在信令服务器上使用了 URL turn:(主机 FQDN)(没有任何端口)

我的环境:

STUN/TURN 服务器:Ubuntu 18.04.6 LTS 上的 Coturn-4.5.0.7

turnserver.conf:

no-cli
cli-password=nocli
verbose
listening-ip=(host internal ip)
relay-ip=(host internal ip)
external-ip=(host public ip)
realm=(host domain name e.g. mydomain.com)
lt-cred-mech
mysql-userdb="host=localhost dbname=coturn user=turn password=(mysql password) connect_timeout=30 read_timeout=30"
cert=/etc/letsencrypt/live/(host FQDN)/fullchain.pem
pkey=/etc/letsencrypt/live/(host FQDN)/privkey.pem
tls-listening-port=443
no-stdout-log
use-auth-secret
static-auth-secret=(secret)

STUN/TURN 服务器传入防火墙规则:

  • TCP/80
  • TCP/443
  • 任何/3478
  • 任何/5349
  • UDP/49152-65535

客户:Windows 10 Pro 版本 21H2 上的 Chrome 版本 103.0.5060.114(64 位)

客户端传出防火墙规则:TCP/443 至整个互联网

信令服务器上的 STUN/TURN 服务器 URL:转向:(主机 FQDN):443

注意:客户端和 STUN/TURN 服务器位于完全不同的网络上,且位于 NAT 之后

相关内容