Проверка COTURN сервера
Для проверки работоспособности COTURN сервера, особенно по зашифрованному каналу (TURNS), выполните следующие шаги.
1. Использование Trickle ICE
Самый простой способ проверить работу — воспользоваться онлайн-инструментом Trickle ICE.
- Откройте страницу Trickle ICE.
- Удалите стандартные серверы Google.
- Добавьте свои настройки
iceServers:
STUN:
- STUN or TURN URI:
stun:coturn.ccs.msk.ru:3478
TURNS (Encrypted):
- STUN or TURN URI:
turns:coturn.ccs.msk.ru:5349?transport=tcp(также проверьтеtransport=udp) - TURN username:
usr_coturn.ccs.msk.ru - TURN password:
***(ваш пароль/credential)
- Нажмите “Add Server”, а затем “Gather candidates”.
- Если вы видите кандидатов типа
srflx(для STUN) иrelay(для TURN), значит сервер работает. Для проверки именно зашифрованного канала убедитесь, чтоrelayкандидаты появляются при использованииturns:URI.
Пример успешного ответа:
0.003 host 3765676733 udp 266e1b73-b588-4d88-93e7-e1dce07762c5.local 57936 126 | 30 | 255
0.259 srflx 68216299 udp 91.246.41.101 59869 100 | 30 | 255 stun:coturn.ccs.msk.ru:3478
0.681 relay 1695796417 udp 45.12.4.228 55885 0 | 32 | 255 turns:coturn.ccs.msk.ru:5349?transport=tcp tls
0.681 relay 1695796417 udp 45.12.4.228 61517 0 | 31 | 255 turns:coturn.ccs.msk.ru:5349?transport=tcp tls
0.682 relay 1695796417 udp 45.12.4.228 52795 0 | 31 | 255 turns:coturn.ccs.msk.ru:5349?transport=tcp tls
0.688 relay 1695796417 udp 45.12.4.228 63482 0 | 32 | 255 turns:coturn.ccs.msk.ru:5349?transport=tcp tls
0.689 Done
2. Пример конфигурации в коде (JSON)
{
"iceServers": [
{
"urls": [
"stun:coturn.ccs.msk.ru:3478"
]
},
{
"urls": [
"turns:coturn.ccs.msk.ru:5349?transport=tcp",
"turns:coturn.ccs.msk.ru:5349?transport=udp"
],
"username": "usr_coturn.ccs.msk.ru",
"credential": "***"
}
]
}
3. Возможные проблемы и их решение
Если кандидаты типа relay не появляются или возникают ошибки TLS:
-
Проверка сертификатов: Скорее всего, истек срок действия SSL-сертификатов или они не были обновлены в директории, которую использует coturn. Путь к сертификатам на хосте (согласно конфигурации):
~/ssl-nginx/coturn.ccs.msk.ru/Как проверить срок действия сертификата (Debian/Ubuntu/Rocky Linux):
# Способ 1: Проверка локального файла сертификата openssl x509 -enddate -noout -in ~/ssl-nginx/coturn.ccs.msk.ru/fullchain.pem # Способ 2: Проверка удаленного сервера через сеть (если порт 5349 открыт) echo | openssl s_client -connect coturn.ccs.msk.ru:5349 2>/dev/null | openssl x509 -noout -dates -
Обновление сертификатов и перезапуск Nginx: Если сертификаты почему-то не обновились автоматически, попробуйте обновить их и перезапустить Nginx:
systemctl --user restart container-nginx -
Перезапуск COTURN: После обновления сертификатов обязательно перезапустите контейнер coturn, чтобы он подтянул новые файлы:
~/services/coturn/main.sh coturn restart -
Проверка портов и Firewall: Убедитесь, что порты 3478 (STUN/TURN) и 5349 (TURNS) открыты для TCP и UDP. Используйте скрипт:
sudo ~/CCS.Deployment/prepareOS/open_ports_for_coturn.sh $(whoami) -
Логи: Если проблема сохраняется, проверьте логи контейнера:
~/services/coturn/main.sh coturn log