Как заставить RTSPtoWeb работать с https
Мы установили RTSPtoWeb на запасной сервер в нашей сети, просто чтобы проверить, работает ли он, и он работает. Он прекрасно захватывает поток с наших камер. Затем я использовал опцию потока webrtc, чтобы успешно отобразить его на веб-странице, НО только в моей локальной среде разработки на локальном хосте. Запасной сервер не имеет сертификата SSL, это просто http.
Теперь, конечно, это должно работать и в нашей производственной среде, которая полностью использует https. Сначала я просто указал на запасной http-сервер. Итак, естественно, Chrome выдает ошибку смешанного контента. Затем я попытался установить RTSPtoWeb на производственный сервер, но, думаю, мне все равно нужно каким-то образом применить SSL-сертификат производственного сервера к RTSPtoWeb. Если я укажу на RTSPtoWeb с протоколом https, он вернет Net ERR_SSL_PROTOCOL_ERROR.
В config.json есть несколько переменных, связанных с https, но нет документации о том, что они на самом деле означают:
"https": true,
"https_auto_tls": false,
"https_auto_tls_name": "",
"https_cert": "server.crt",
"https_key": "server.key",
Удалось ли кому-нибудь использовать RTSPtoWeb с сертификатом SSL, и если да, то как? Или может быть есть быстрый и грязный способ обойти проблему «смешанного контента» в Chrome.
Или, поскольку мы работаем на рабочем сервере, а я просто использую IP-адрес для указания на RTSPtoWeb, изменится ли что-нибудь, если на RTSPtoWeb будет ссылка с использованием доменного имени сервера? Мы используем Apache, могу ли я как-нибудь просто перенаправить трафик?
1 ответ
Я тоже потратил много времени на то, чтобы разобраться в этом, вы, вероятно, больше над этим не работаете, но вот ответ для устаревших целей.
Зарегистрируйте свою запись A. Убедитесь, что ваш общедоступный IP-адрес зарегистрирован как запись A в регистраторе вашего домена. Вместо использования просто IP-адреса для указания на RTSPtoWeb используйте запись A, указывающую на ваш общедоступный IP-адрес, например https://rtsptoweb.yourdomain . com:12629/stream/0/channel/0/webrtc вместо https://100.100.100:12629/stream/0/channel/0/webrtc
Отсутствуют сертификаты SSL. Убедитесь, что файлы server.crt и server.key правильно включены в сборку. Я использовал docker для сборки, и мне пришлось отредактировать файл docker, чтобы правильно включить файлы.
Ваш SSL-сертификат должен быть сгенерирован и сертифицирован для записи A, которую вы зарегистрировали ранее.
Наконец, после запуска RTSPtoWeb внимательно просмотрите журналы, чтобы понять, что не работает, это укажет вам правильное направление.