Acabei de configurar um servidor coturn, ele funciona perfeitamente bem ao usar o domínio ip ou teh sem balanceador de carga, foi testado usando esta ferramenta online:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
O problema é que quando uso um balanceador de carga de rede, o redirecionamento do tcp_udp funciona na porta 80, mas ao tentar usar o tls para a porta 443, não funciona.
Configurei o balanceador de carga de rede para rotear o tráfego tls da porta 443 para o grupo de destino na porta 443 também. Estou usando o certificado letsencrypt para domain.com e *.domain.com de letsencrypt em meu balanceador de carga de rede. Os mesmos certificados são adicionados no arquivo de configuração turnserver.conf.
E esta é a minha configuração:
external-ip=1.2.3.4
listening-port=80
min-port=10000
max-port=20000
log-file=/var/log/turnserver.log
verbose
tls-listening-port=443
lt-cred-mech
server-name=domain.com realm=domain.com
user=tester:12345678
total-quota=100
stale-nonce=600
cert=/opt/coturn/fullchain.pem
pkey=/opt/coturn/privkey.pem
cipher-list="ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS"
log-file=/var/log/coturn.log
# Specify the process user and group
proc-user=turnserver
proc-group=turnserver
E é isso que recebo do log:
3170: IPv4. tcp or tls connected to: 9.8.7.6:34274
3170: session 001000000000003730: TCP socket closed remotely 9.8.7.6:34274
3170: session 001000000000003730: closed (2nd stage), user <> realm <domain.com> origin <>, local 0.0.0.0:443, remote 9.8.7.6:34274, reason: TCP connection closed by client (callback)
E, aliás, sempre recebo o erro 701 da ferramenta online.
Obrigado,
Responder1
Não use um balanceador de carga com servidores STUN/TURN. Você pode aumentar o servidor ou implementar seu próprio "balanceador de carga" girando o IP do servidor em seu aplicativo cliente.
Você parece não entender os fundamentos do que é um balanceador de carga e como o STUN/TURN funciona, especialmente em HTTPS. O TURN não está usando HTTP/HTTPS, apenas as portas 80 e 443. Isso serve para contornar firewalls que normalmente têm essas portas abertas.