Приложение webrtc показывает, что мой сервер Turn сломан, но он работает

У меня есть сервер оглушения / поворота, работающий на локальном компьютере (CoTurn). Он протестирован на "https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ "и работает. У меня есть доменное имя, и я настроил модем с публичным ip. Я настроил apache2, чтобы сделать сайт видимым для всего мира. У меня есть действующие и действующие сертификаты Letsencript. Короче все работает. Но тестовое приложение запускает соединение (внешний компьютер связывается с локальным через socket.io), но затем видео не отображается, и консоль возвращает ошибку: ICE failed, ваш сервер TURN, похоже, не работает, см. About: webrtc для подробнее.

Ссылка на приложение, которое я использую в качестве теста, потому что с моим оригиналом мне нечего было сравнивать. Впервые с socket.io. Но socket.io отправляет и получает сообщения, поэтому на данный момент это не проблема.

https://github.com/anoek/webrtc-group-chat-example

P.S.:

Ok. Сервер стоит за нац. Мое приложение (но и связанное приложение тоже) отлично работает в локальной сети (извините, я проверял этот момент раньше). Это с моим сервером поворота / оглушения, чем с общедоступными серверами оглушения / поворота Google. Это явно указывает на плохую настройку сервера apache2 и / или сервера поворота. Где я могу найти руководство по этому поводу?

Моя ситуация с сервером: myServerIpLocal-xxx.xxx.xxx.xxx -> nat / router / modem WithPublicIpStatic-xx.xx.xx.xx. Я могу видеть свои сайты со всего мира, но сервер Turn не работает вне локальной сети. Внутри локальной сети все нормально.

это моя конфигурация поворота:

listening-port=3478
tls-listening-port=5349
alt-listening-port=3479
alt-tls-listening-port=5350
listening-ip=xxx.xxx.xxx.xxx /*mylocal ip*/
relay-ip=xxx.xxx.xxx.xxx /*mylocal ip*/
external-ip=xx.xx.xx.xx /*my public ip on nat/ruter/modem */

min-port=49152
max-port=65535
verbose
fingerprint

userdb=/var/lib/turn/turndb
realm=mysite.com
cert=/etc/ssl/certificate.pem
pkey=/etc/ssl/private.key
dh-file=/etc/turn/dhparam.pem
no-stdout-log
log-file=/myhome/.turn/turn.log

lt-cred-mech
user=myusername:mypasswd

# Turn OFF the CLI support.
# By default it is always ON.
# See also options cli-ip and cli-port.
#
no-cli

#Local system IP address to be used for CLI server endpoint. Default value
# is 127.0.0.1.
#
cli-ip=127.0.1.1

# CLI server port. Default is 5766.
#
cli-port=5766

# CLI access password. Default is empty (no password).
#
cli-password=logen

no-sslv3
no-tlsv1


person theman whosoldtheworld    schedule 09.05.2019    source источник


Ответы (1)


мой старый код на turn.conf:

lt-cred-mech user=myusername:mypasswd

но поворот работает только локально .... вероятно, потому что я использую: sudo turnserver -L myPublicIp -o -a myrealm при каждой команде запуска поворота ....

на самом деле я стараюсь не использовать команду "turnserver", а пытаюсь использовать onlu sudo coturn start .....

в основном в моем файле turn.conf я меняю их:

lt-cred-mech user=mypasswd:myusername /***** mind the gap ;) *****/

это потому, что моя отладка файла index.js никогда не видит мое внешнее соединение как авторизованного пользователя ..... волшебным образом в это время мое приложение выполняет множественное соединение webrtc с каждым компьютером и мобильным телефоном .... внутри и вне моей локальной сети .... ( Я пытаюсь подключить свое приложение с телефона в Барселоне, Испания, к другому в Лондоне, и это дает хороший результат).

Может быть coturn wiki нужно обновить?

Наконец, я хотел бы поблагодарить serverfault и парней суперпользователей, которые отклонили мой вопрос. Поскольку мне нужно было договориться, я смог получить новую интересную информацию по этому поводу.

С уважением

person theman whosoldtheworld    schedule 17.05.2019