我在这个问题上苦苦挣扎了近一个月,我能够在EC2实例上设置一个rfc5766-turn-server(v3.2.3.1),没有任何问题。当TURN在3478上监听时,一切正常,但在端口80上,它工作的次数最多,但是在一定的时间间隔(不规律地发生),它变得没有响应,即使重新启动该过程也不会改变任何事情。我在3478端口上并行运行的过程不会遇到这个问题。在AWS上运行的Turn-server无响应
命令运行在80端口:
sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem --tls-listening-port 80
命令在端口3478上运行:
sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem --tls-listening-port 80
我认为,这个问题更AWS网络相关的,少转服务器上,但随后再次,我对AWS或TURN服务器知之甚少。有没有人在端口80上遇到过这个问题。我相信在端口80上运行是非常重要的,特别是当对端阻止阻塞大多数端口的防火墙时。
时候才能够成功地分配日志(我已经INTERNAL_IP改变EC2的内部IP):
342: IPv4. Server relay addr: INTERNAL_IP:0
342: IPv4. Local relay addr: INTERNAL_IP:56216
342: session 000000000000000005: new, username=<test>, lifetime=600
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success
353: session 000000000000000005: usage: username=<test>, rp=1039, rb=551685, sp=1009, sb=526100
日志时反应迟钝(我注意到,它仍然显示连接尝试,一个区别在于,它显示对连接的IP,而不是INTERNAL_IP在成功场景):
392: IPv4. tcp or tls connected to: SOME_IP:41107
392: session 000000000000000007: user <>: incoming packet message processed, error 401
392: session 000000000000000007: user <>: incoming packet message processed, error 401
392: IPv4. tcp or tls connected to: SOME_IP:41108
392: session 000000000000000008: user <>: incoming packet message processed, error 401
392: session 000000000000000008: user <>: incoming packet message processed, error 401