Перейти к содержанию

Настройка coturn в AWS EC2

Описание

Для того, чтобы пользователи могли публиковать и играть потоки с закрытыми на их стороне медиапортами, может быть полезно развернуть TURN сервер. Если по каким-то причинам функционала встроенного TURN сервера недостаточно, и при этом нежелательно развертывать отдельный экземпляр в AWS EC2, либо сервер должен использоваться в составе группы масштабирования, можно развернуть coturn на том же экземпляре, что и WCS.

Развертывание экземпляра сервера в AWS EC2

Разверните сервер в AWS EC2 по этой инструкции. При развертывании, добавьте в группу безопасности TCP порт 443

Настройка WCS

Добавьте в файл настроек flashphoner.properties параметр

rtc_ice_add_local_interface=true

и перезапустите WCS.

Установка и настройка coturn

  1. Установите coturn из репозитория epel-release

    sudo amazon-linux-extras install epel
    sudo yum install coturn
    

  2. В файле настроек coturn /etc/coturn/turnserver.conf укажите следующие параметры

    # Listen port  443
    listening-port=443
    # Listen on internal IP only
    listening-ip=172.31.xx.xxx
    # Set up external IP option as coturn manual recommends
    external-ip=54.75.x.xxx/172.31.xx.xxx
    # Set user and password
    user=username:password
    # Set the domain
    realm=yourdomain.com
    # Disable UDP listener
    no-udp
    # SSL certificate and key
    cert=/etc/pki/coturn/public/cert.pem
    cert=/etc/pki/coturn/private/cert.key
    
    Остальные параметры можно оставить по умолчанию

  3. Чтобы разрешить coturn прослушивать порт 443, добавьте в секцию [Service] файла /lib/systemd/system/coturn.service параметр

    AmbientCapabilities=CAP_NET_BIND_SERVICE
    

  4. Запустите coturn

    sudo systemctl start coturn
    

Тестирование

Откройте пример Firewall Traversal Streaming в браузере, укажите в поле TURN server имя своего сервера и порт 443, а также имя и пароль, опубликуйте и проиграйте поток