feat(coturn): TURN over TLS на 5349 — сертификаты, монтирование, анонс клиентам
coturn (nobody:nogroup, без root-фазы в entrypoint) не может сам прочитать приватный ключ Let's Encrypt — coturn-certs-init (по образцу recordings-init/llm-models-init) копирует fullchain/privkey в отдельный volume под правами 644, не трогая права на ключ на хосте. TURN_TLS_HOST в .env — единственный переключатель фичи: пусто (dev-дефолт) вырезает TLS-блоки из turnserver.conf и rtc.turn_servers целиком (маркеры BEGIN/END-TLS-* в *.template, render-templates.sh), непустое значение включает оба сразу — TLS без анонса LiveKit клиентам не имеет смысла (история 0.0.14: coturn работал healthy, но клиенты о нём не знали, и не было ни одной аллокации). Значение обязано быть доменом сертификата, а не IP — иначе браузер не пройдёт TLS-валидацию по имени хоста для turns:. TLS-запись в rtc.turn_servers стоит последней в списке (фолбэк дороже прямого UDP/TCP).
This commit is contained in:
@@ -12,8 +12,8 @@
|
||||
# затрутся при следующем рендере.
|
||||
|
||||
listening-port=3478
|
||||
# Установить 5349 в проде для TURN over TLS, если будут смонтированы
|
||||
# реальные TLS-сертификаты (см. закомментированные cert/pkey ниже).
|
||||
# TLS-порт объявлен всегда; реально слушать TLS coturn начинает только когда
|
||||
# заданы cert/pkey ниже (блок TLS-CERT) — без них строка ничего не включает.
|
||||
tls-listening-port=5349
|
||||
|
||||
# Диапазон relay-портов для TURN-аллокаций.
|
||||
@@ -31,10 +31,15 @@ fingerprint
|
||||
# Без CLI/telnet admin-интерфейса в этой поставке.
|
||||
no-cli
|
||||
|
||||
# Раскомментировать и смонтировать реальные сертификаты, чтобы включить
|
||||
# TURN over TLS на 443:
|
||||
# cert=/etc/coturn/certs/cert.pem
|
||||
# pkey=/etc/coturn/certs/key.pem
|
||||
# Блок ниже рендерится ТОЛЬКО когда в .env задан TURN_TLS_HOST (см.
|
||||
# render-templates.sh) — тогда coturn-certs-init (docker-compose.yml) уже
|
||||
# скопировал fullchain/privkey из /etc/letsencrypt в volume coturn-certs.
|
||||
# Без TURN_TLS_HOST маркеры и всё, что между ними, вырезаются целиком —
|
||||
# в файле не остаётся ни следа cert/pkey, а не просто закомментированных строк.
|
||||
# BEGIN-TLS-CERT
|
||||
cert=/etc/coturn/certs/cert.pem
|
||||
pkey=/etc/coturn/certs/key.pem
|
||||
# END-TLS-CERT
|
||||
|
||||
log-file=stdout
|
||||
simple-log
|
||||
|
||||
Reference in New Issue
Block a user