Связь WebRTC только с использованием HTTP-порта 80?

  • Когда одноранговые узлы находятся за разными NAT, мы используем STUN, чтобы начать работу.
  • При отказе прямого однорангового соединения мы обращаемся к серверу TURN,
  • и когда все порты UDP в системе заблокированы, мы подключаемся к серверу TURN с транспортом TCP
  • но что, если все порты, кроме 80, заблокированы (одноранговый узел за корпоративным прокси), что тогда? будет ли вышеупомянутый сервер TURN по-прежнему работать? или я должен получить шлюз webrtc и полагаться на RTMP как на запасной вариант? Любая другая альтернатива?

ранее я ошибался, предполагая, что TCP нужен только порт 80, но это обсуждение заставляет меня сомневаться.


person mido    schedule 12.06.2015    source источник


Ответы (2)


Это зависит от того, насколько заблокирована ваша сеть. Если есть прокси, который проверяет заголовок HTTP, TURN (STUN) через TCP не будет работать. Но если потоки через порт 80 не проверяются прокси (например, только брандмауэром), TURN over TCP должен работать.

Если ваш TURN разрешает доступ через TLS на порт 443, зашифрованный уровень должен обходить прокси / брандмауэр. Фактически прокси будет думать, что потоки являются запросами HTTPS. Но если прокси-сервер может "сломать" уровень SSL (MITM, например, Burp-прокси), он может отклонить ваши сообщения, потому что он не понимает запрос TURN как HTTP-запрос.

person Antonin M.    schedule 24.07.2015

443 также должен быть доступен. 80 для сигнализации, 443 для ОБОРОТА.

person Alexander Kandrashkin    schedule 12.06.2015