如何使用 TLS 在 Aws 網路負載平衡器下使用 Stun/Turn 伺服器 (COturn)

如何使用 TLS 在 Aws 網路負載平衡器下使用 Stun/Turn 伺服器 (COturn)

我剛剛設定了一個 coturn 伺服器,在沒有負載平衡器的情況下使用 ip 或 teh 網域時它運作得很好,它使用這個線上工具進行了測試:

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

問題是當我使用網路負載平衡器時,重新路由 tcp_udp 在連接埠 80 上工作,但是當嘗試對連接埠 443 使用 tls 時,它不起作用。

我將網路負載平衡器配置為將連接埠 443 的 tls 流量也路由到連接埠 443 下的目標群組。我在網路負載平衡器中使用來自 LetsEncrypt 的 domain.com 和 *.domain.com 的 LetsEncrypt 憑證。相同的憑證會加入到設定檔turnserver.conf 中。

這是我的配置:

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

這是我從日誌中得到的:

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)

順便說一句,我總是從線上工具中收到 701 錯誤。

謝謝你,

答案1

請勿將負載平衡器與 STUN/TURN 伺服器一起使用。您可以透過在客戶端應用程式中輪換伺服器 IP 來擴大伺服器或實作您自己的「負載平衡器」。

您似乎不了解負載平衡器的基本原理以及 STUN/TURN 如何運作,尤其是透過 HTTPS。 TURN 不使用 HTTP/HTTPS,僅使用連接埠 80 和 443。

相關內容