0

我在这个问题上苦苦挣扎了近一个月,我能够在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 

回答

0

你并不需要使用80,因为防火墙(防火墙只阻止传入传出未通讯)

希望它帮助

0

你没有提到你的端口上运行TURN传输协议,但是从记录您的端口3478显示您正在使用的3478为您的UDP传输型中继候选者看来。希望你没有使用UDP端口80,它可能是TCP/TLS。在这种情况下,您可以检查分配请求客户端发送到TURN服务器的传输协议。如果客户端没有使用正确的传输协议来请求中继候选,那么您可能无法获得成功的分配响应,因为您正在使用的TURN服务器支持,TCP/TLS控制连接可用于收集UDP中继候选作为RFC-5766的回退机制这种回退机制,否则客户端/服务器应该有ICE-TCP实现来获取TCP类型的中继候选,但是仍然应该将错误响应作为未知协议。记录打印为错误401是TURN协议日志?那么这意味着它有一些认证问题。如果为正确的入站协议通信启用了EC2实例,而不是因为使用EC2实例而可能没有任何其他问题,则其可能与您的TURN服务器配置或支持有关。