Проверьте медиасервер kurento с помощью wss

Как проверить, что медиасервер kurento использует wss или нет? Упомянув эту документацию, я бы раскомментировал

"secure": { "port": 8433, "certificate": "defaultCertificate.pem", "password": "" },

и предоставил pem-файлы сертификата и пароля, но когда я передаю KMS_URI = "wss: // localhost: 8433 / kurento", я также не могу получить icecandidates. Но, используя KMS_URI = "ws: // localhost: 8888 / kurento", я могу получить icecandidates от KMS, но не могу достичь ICECANDIDATES STATE как "CONNECTED". (Использование nodeJS в качестве сервера сигнализации)

  1. Есть ли какая-нибудь команда или способ проверить, использует ли KMS протокол wss или нет?
  2. Если я использую все это, почему я не могу подключиться к Icecandidatestate как «СОЕДИНЕН»?

Редактировать 1

  1. Я создаю свое приложение, следуя документации kurento (индивидуально много nodeJS пример). И я разместил свое приложение на машине Amazon ec2. Оба сервера находятся на одном компьютере, то есть на сервере nodeJS и KMS.
  2. Адрес сервера Google STUN настроен в моем приложении.
  3. Использование KMS версии 6.0 и kurento-client-js версии 6.6.0
  4. Libnice также обновлен до версии 0.1.13.

Мое приложение работало нормально, но внезапно я не знаю, почему это из-за обновления Chrome или какое приложение не может достичь подключенного состояния, даже если оно возвращает icecandidates клиентам, но не может достичь подключенного состояния icecandidates. Наконец, из-за обновления Chrome версии 52 у меня возникла та же проблема, но при использовании сертификата SSL на KMS он начинает работать нормально.

Используя команду

sudo netstat -putan | grep kurento

KMS прослушивает порты 8443 и 8888

Но дело в том, что когда я использую KMS_URI = "ws: // localhost: 8888 / kurento" в моем файле node server.js для создания конвейера, он возвращает ледяные кандидаты клиентам и создается конвейер. Но когда я передаю KMS_URI = "wss: // localhost: 8443 / kurento", он возвращает сообщение журнала о повторном подключении к серверу. Итак, в чем именно проблема, когда KMS не использует файл сертификата или что-то еще.

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


person Akshay Rathore    schedule 20.09.2016    source источник


Ответы (2)


Вы можете проверить, какие порты прослушивает приложение, с помощью следующей команды

sudo netstat -putan | grep kurento

Что касается того, почему вы не завершили переговоры, это может быть не связано с этим. Есть ряд очень важных вещей, о которых вы ничего не говорите

  • Какой тип приложения вы используете? Какая установка?
  • Вы используете KMS за NAT? Предупреждение о спойлере: это в 99% случаев
  • Вы настраивали STUN и / или TURN в своем KMS?
  • Вы пользуетесь разными клиентами?
  • Какую версию KMS вы используете?

ОБНОВЛЕНИЕ 1

Вы пытаетесь подключить серверное приложение node.js к неправильному порту 8443. В соответствии с вашей конфигурацией ваш KMS прослушивает порт 8433 (обратите внимание, что последние две цифры - 3). Кроме того, если вы собираетесь разместить свое серверное приложение и KMS на одном сервере, как вы это делаете сейчас, нет смысла использовать WSS.

person igracia    schedule 20.09.2016
comment
Я обновил вопрос относительно ваших запросов о моем приложении. Сэр, я не могу понять, о чем вы не хотите знать. Вы используете разных клиентов? А о NAT можно сказать, что он может не находиться за NAT, потому что мое приложение работало нормально несколько дней назад, поэтому, если это проблема натации, я не могу получить Icecandiates раньше, даже когда мое приложение работало нормально. - person Akshay Rathore; 21.09.2016
comment
@AkshayRathore Вы уверены, что он слушает 8443, а не 8433? В каком порту затем прослушивается ваше приложение node.js? Если вы прошли документация, порт по умолчанию, который KMS связывает WSS, - 8433, в то время как вы пытаетесь подключиться к 8443. - person igracia; 22.09.2016
comment
Сэр, это моя опечатка, но в моем коде я использовал порт 8433 для wss. Но, сэр, как вы сказали на той же машине, мне не нужно использовать wss, поэтому я могу использовать только протокол ws. Теперь моя проблема в том, что я не могу найти подключенное состояние даже после использования «ws» с портом 8888. - person Akshay Rathore; 22.09.2016
comment
Сэр, спасибо за вашу поддержку. На самом деле это оглушающий сервер, который я использую, перестает работать. - person Akshay Rathore; 22.09.2016
comment
Я запускаю openvidu / openvidu-server-kms: latest from docker, и я установил, что позволяет шифровать сертификат также server.ssl. аргументы. Но только на SUB.DOMAIN: 4443 у меня все еще дефолт сертификат openvidu? как передать информацию о сертификате, это хорошая идея, чтобы войти в контейнер докеров, а затем запустить node.js оттуда ... - person Nikola Lukic; 12.02.2019

Моя проблема наконец решена путем использования адреса сервера оглушения "74.125.200.127:19302" вместо "173.194.66.127:19302". Я проверил оба адреса оглушающего сервера, используя эту струйку webrtc -ледная ссылка.

person Akshay Rathore    schedule 22.09.2016
comment
Теперь вы видите, в чем вопрос. Настроили ли вы STUN и / или TURN в своем KMS? был здесь... - person igracia; 22.09.2016
comment
@igracia На самом деле, сэр, как вы сказали, я проверил, что KMS должен быть настроен с помощью сервера STUN и / или TURN, и это было в моем приложении. Но я не знал, что он также может перестать работать, так как я думал, что это был сервер оглушения, размещенный в Google, поэтому я полагаюсь на это. - person Akshay Rathore; 22.09.2016
comment
Как это использовать: -v ~ / kurento-config / config.default: / etc / default / kurento. Я использую докер, мне нужен аргумент для перезаписи конфигурации kurento? Что такое левая и правая сторона? Путь к конфигурации: /etc/kurento/kurento.conf.json - person Nikola Lukic; 12.02.2019
comment
@NikolaLukic, когда вы используете параметр -v <host-path>:<docker-path>, слева от: - это каталог на вашем компьютере, в который вы установили докер. Право: то, что докер использует в своем контейнере. В вашем примере config.default из вашего домашнего каталога / kurento-config виден для контейнера докеров как / etc / default / kurento. - person BReddy; 28.07.2020