fix(turn): встроенный TURN анонсируется по публичному адресу релея

Если задан --turn-relay-host, turn.domain указывает на релей, а не на
turn.<domain>: иначе клиенты получали недостижимый TURN-кандидат
(порт 3478 на VPS обслуживает coturn, а не домашний LiveKit).
Также добавлена smoke-проверка обновления сертификата TURN.
This commit is contained in:
2026-09-19 21:12:11 +03:00
parent d54a8fcc2d
commit ae289fc756
+9 -1
View File
@@ -298,7 +298,15 @@ resolve_derived_values() {
[ "$PROXY_MODE" = "external" ] && turn_external_tls="true"
TURN_EXTERNAL_TLS="$turn_external_tls"
TURN_DOMAIN_RESOLVED="${TURN_DOMAIN_OVERRIDE:-turn.${DOMAIN}}"
if [ -n "$TURN_DOMAIN_OVERRIDE" ]; then
TURN_DOMAIN_RESOLVED="$TURN_DOMAIN_OVERRIDE"
elif [ -n "$TURN_RELAY_HOST" ]; then
# Есть внешний релей: встроенный TURN должен анонсироваться по тому же
# публичному адресу, иначе клиенты получат недостижимые кандидаты.
TURN_DOMAIN_RESOLVED="$TURN_RELAY_HOST"
else
TURN_DOMAIN_RESOLVED="turn.${DOMAIN}"
fi
TURN_CERT_DIR="${TARGET_DIR}/certs"
TURN_RELAY_HOST_RESOLVED="${TURN_RELAY_HOST}"
TURN_RELAY_USER="${TURN_RELAY_USER:-glchat}"