WebRT C через локальную сеть - PullRequest
2 голосов
/ 23 марта 2020

Я создаю веб-сайт React, в котором я хочу использовать WebRT C, чтобы в основном иметь возможность совершать аудио / видеозвонки на другие устройства, только в моей локальной сети . Поскольку getUserMedia требует HTTPS, я сталкиваюсь с проблемами, из-за которых мне в основном приходится обходить предупреждения SSL (кнопки «Все равно посетить сайт»), чего я не хочу делать.

I ' я использую свой ноутбук, чтобы выступать в качестве посредника соединений / сервера сигнализации, чтобы позволить клиентам соединяться друг с другом - если я понижаю возможности HTTP до только для текстового чата, это прекрасно работает - но вся цель заключается в использовании аудио / видео, поэтому мне нужен этот слой SSL.

Мой вопрос: как правильно настроить слой SSL, чтобы мне не приходилось обходить предупреждения и принимать самозаверяющий сертификат?

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

Опять же, это только для intr anet использования, поэтому я не знаю, облегчает ли это или усложняет, но это мое ограничение.

РЕДАКТИРОВАТЬ: Сервер написан в NodeJS. Я нашел некоторую документацию, предполагающую, что Node могут быть предоставлены дополнительные CA (например, NODE_EXTRA_CA_CERTS). Это то, что я могу использовать? Будет ли страница клиента html использовать это каким-либо значимым образом?

Эта ссылка кажется многообещающей: https://engineering.circle.com/https-authorized-certs-with-node-js-315e548354a2. Главное, чего я не понимаю, - это как использовать эту строку ca: fs.readFileSync('ca-crt.pem') для данного запроса, так как кажется, что код фактически выполняет запрос (но в моем случае он уже был бы передан на сервер, нет?). https://nodejs.org/api/https.html#https_https_request_options_callback, похоже, также указывает на нечто подобное.

1 Ответ

0 голосов
/ 23 марта 2020

Вполне возможно зарегистрировать доменное имя, а затем указать его на что-то в Частном диапазоне адресов. Я делаю это для местного развития иногда. Я зарегистрировал pion.io и получил сертификат подстановочного знака через LetsEncrypt.

Вы также можете использовать mkcert . Затем либо в /etc/hosts, либо в самом маршрутизаторе вы можете указать полное доменное имя для вашего сигнального / веб-сервера.

Существует также аргумент --unsafely-treat-insecure-origin-as-secure для Chromium, в последнее время я его не использовал, хотя и не уверен если это все еще работает.

...