So funktioniert Stun/Turn Server (COturn) unter AWS Network Load Balancer mit TLS

So funktioniert Stun/Turn Server (COturn) unter AWS Network Load Balancer mit TLS

Ich habe gerade einen Coturn-Server eingerichtet. Er funktioniert einwandfrei, wenn die IP oder die Domäne ohne Loadbalancer verwendet wird. Er wurde mit diesem Online-Tool getestet:

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

Das Problem besteht darin, dass bei Verwendung eines Netzwerk-Loadbalancers die Umleitung von TCP_UDP auf Port 80 funktioniert, beim Versuch, TLS für Port 443 zu verwenden, es jedoch nicht funktioniert.

Ich habe den Netzwerk-Load Balancer so konfiguriert, dass TLS-Verkehr für Port 443 auch an die Zielgruppe unter Port 443 weitergeleitet wird. Ich verwende das Letsencrypt-Zertifikat für domain.com und *.domain.com von letsencrypt in meinem Netzwerk-Load Balancer. Dieselben Zertifikate werden in der Konfigurationsdatei turnserver.conf hinzugefügt.

Und das ist meine Konfiguration:

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

Und das ist, was ich aus dem Protokoll erhalte:

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)

Und übrigens, ich bekomme vom Online-Tool immer den Fehler 701.

Danke schön,

Antwort1

Verwenden Sie keinen Load Balancer mit STUN/TURN-Servern. Sie können den Server vergrößern oder Ihren eigenen „Load Balancer“ implementieren, indem Sie die Server-IP in Ihrer Client-Anwendung rotieren.

Sie scheinen die Grundlagen eines Load Balancers und der Funktionsweise von STUN/TURN nicht zu verstehen, insbesondere über HTTPS. TURN verwendet kein HTTP/HTTPS, sondern nur die Ports 80 und 443. Dies dient dazu, Firewalls zu umgehen, bei denen diese Ports normalerweise geöffnet sind.

verwandte Informationen