SHA256
2.1 KiB
2.1 KiB
Настройка TURN-сервера
TURN-хосты SHiNE должны использовать домены:
turn1.shineup.meturn2.shineup.meturn3.shineup.me
IP не фиксировать в документах и скриптах как основной идентификатор.
1. DNS
Создать или обновить DNS A/AAAA для нужного turnX.shineup.me.
2. Пакеты
sudo apt update
sudo apt install -y coturn caddy
Можно использовать вспомогательный скрипт на самом TURN-хосте:
sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET
3. coturn
Секреты не хранить в git. Настраивать на сервере через /etc/turnserver.conf или отдельный secret/override.
Минимальная схема:
listening-port=3478
tls-listening-port=5349
fingerprint
lt-cred-mech
realm=turn1.shineup.me
server-name=turn1.shineup.me
use-auth-secret
static-auth-secret=<secret-on-server-only>
no-multicast-peers
no-cli
Включить сервис:
sudo systemctl enable coturn
sudo systemctl restart coturn
4. Caddy
Caddy можно использовать для HTTPS health/check endpoint и автоматического TLS на домене.
Пример:
turn1.shineup.me {
respond /health "ok" 200
}
Проверка:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy
curl -I https://turn1.shineup.me/health
5. Проверка портов
sudo systemctl --no-pager --full status coturn caddy
sudo ss -lntup | grep -E ':(3478|5349)'
6. Важное
- TURN credentials и shared secret не коммитить.
- Если TURN домен переносится на другой VPS, менять DNS, а не код приложения.
- После изменения TURN-адресов обновить серверные/UI настройки, где они используются.