Cómo trabajar Stun/Turn Server (COturn) en el equilibrador de carga de red Aws con TLS

Cómo trabajar Stun/Turn Server (COturn) en el equilibrador de carga de red Aws con TLS

Acabo de configurar un servidor coturn, funciona perfectamente bien cuando uso la ip o el dominio sin balanceador de carga, se probó usando esta herramienta en línea:

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

El problema es que cuando uso un balanceador de carga de red, el redireccionamiento de tcp_udp funciona en el puerto 80, pero cuando intento usar tls para el puerto 443, no funciona.

Configuré el balanceador de carga de red para enrutar el tráfico tls para el puerto 443 al grupo objetivo en el puerto 443 también. Estoy usando el certificado letsencrypt para domain.com y *.domain.com de letsencrypt en mi balanceador de carga de red. Los mismos certificados se agregan en el archivo de configuración turnerver.conf.

Y esta es mi configuración:

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

Y esto es lo que obtengo del registro:

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)

Y por cierto, siempre recibo el error 701 de la herramienta en línea.

Gracias,

Respuesta1

No utilice un equilibrador de carga con servidores STUN/TURN. Puede agrandar el servidor o implementar su propio "equilibrador de carga" rotando la IP del servidor en su aplicación cliente.

Parece que no entiendes los fundamentos de qué es un balanceador de carga y cómo funciona STUN/TURN, especialmente a través de HTTPS. TURN no utiliza HTTP/HTTPS, solo los puertos 80 y 443. Esto es para evitar los firewalls que normalmente tienen estos puertos abiertos.

información relacionada