Jump to content
Const

Как добавить TLS (httpS) для web-интерфейса ? [Поддержка https]

Recommended Posts

Добрый день.

Планируется ли поддержка https со стороны веб и андроид клиента?

Уже задавал такой вопрос про версию 7.7, этот вопрос по 8-й версии.

 

Уточню, не требуется реализация всей работы с ssl/tls, ключами, сертификатами и т.д. в сервере Линии. Обернуть http запросы к веб-серверу Линии в https можно с помощью того же nginx. Было бы достаточно, чтобы клиентские приложения поддерживали работу через https и редиректы.

Share this post


Link to post
Share on other sites

Здравствуйте. Вопрос обсуждается в рамках заявки №5233

Сейчас для использования HTTPS можно применять подключение через доменные имена сервиса DynDNS. Соединение будет происходить через наши TURN сервера и будет задействоваться HTTPS.

Share this post


Link to post
Share on other sites

Добрый день !
Нам очень понравился веб-интерфейс 8-й линии, но есть одна неприятность - работает он на порту 9786 по нешифрованному соединению, из-за чего браузер резонно ругается, что передача через такую форму логина / пароля небезопасна.

У нас есть уже параллельно поставленный nginx, где прикручен TLS и сертификаты от Let's Encrypt, и где показывается статик-страничка с информацией о сервере.
Я попробовал сделать отдельный локейшен в https-сайте с помощью такого конфига:
 

        location /web-cctv {  
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://[server-name]:9786/";
        }
        location /js { 
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://[server-name]:9786/js";
        }
        location /css {  
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://[server-name]:9786/css";
        }
        location /img {
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://[server-name]:9786/img";
        }
        location /trnslt {  
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://[server-name]:9786/trnslt";
        }


У меня после этого открылся корректно сам веб-интерфейс по адресу https://[server-name]/web-cctv :

 

cctv-nginx-httpS.thumb.png.f520bd272d05b46a567371c47d782d4a.png


однако авторизация не проходит, ибо данные по-прежнему отправляются POST-методом через нешифрованный http:// скриптами самой Линии.

Вопрос - как корректно включить httpS для веб-интерфейса Линии-8 ? Возможно ли это ?
 

Share this post


Link to post
Share on other sites

Здравствуйте!
На данный момент,  подключатся с использованием  HTTPS можно через сервис TURN .

Соединение будет происходить через наши сервера.
Например, https://name.devline.tv

Share this post


Link to post
Share on other sites

Понял вас.
Скажите, а не планируется ли введение какой-либо связанной с этим опции/кода в будущих версиях ?
От сторонних серверов мы всё-таки пока воздержимся.

Share this post


Link to post
Share on other sites

Вопрос изучался в рамках задачи #5223 - решение есть.

Будет ли со временем предложено другое - точной информации нет.

 

Share this post


Link to post
Share on other sites

Понял. Будем ожидать, вопрос не срочный ни разу.
 

Share this post


Link to post
Share on other sites

Здравствуйте!

Пытаюсь зайти на сервер https://name.devline.tv  (Именно https) ввожу логин admin, пароль и появляется маленькое окошко "Авторизация" и больше ничего не происходит.

Так и должно быть? Браузер - Firefox.

Share this post


Link to post
Share on other sites

Обращаю внимание - меня пускает на сайты только по https.

3322.png

2233.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Const
      Добрый день.
      Возможна ли работа web и мобильных клиентов через https? Сейчас все запросы к api от web и андроид клиента идут через http. Попробовал с помощью nginx все запросы завернуть на https 301-м редиректом, но не сработало. В tcpdump видно, что на запрос, например, "/cameras" в ответ уходит правильный редирект, но подключения к https порту не появляется, похоже, клиент не обрабатывает такие ответы.
    • By Павел М.
      Возникла задача организовать закрытую трансляцию камер на сайте. Ни один из стандартных вариантов (https://devline.ru/translation/) не подошёл, предложенные на форуме способы тоже не устроили. На скорую руку было набросано решение на nginx (нужен для корректной работы по HTTPS) и Video.js (собственно сам плеер).
      Плюсы:
      Полноценное HTML5 видео со всеми вытекающими. Поддерживается Internet Explorer (по меньшей мере Windows 7/IE11 или новее, на более старых не проверял). Поддержка работы по HTTPS без каких-либо предупреждений. Скрыт реальный адрес сервера с «Линия IP». Не используются сторонние сайты. Разграничение доступа по пользователям. Минусы:
      Весь трафик идёт через ваш сервер.  
      В конфиг nginx надо будет добавить:
      server { listen 443 ssl http2; root /usr/local/www/video; server_name video.example.com; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; location / { auth_basic "My video server"; auth_basic_user_file htpasswd; } location /cameras/ { proxy_pass http://devline.server.local:9786/cameras/; } } Вместо devline.server.local указываем имя или IP-адрес вашего сервер «Линия IP». В файле htpasswd необходимо прописать имена пользователей и пароли (по паролям читаем документацию), которые совпадают с соответствующими пользователями на сервере «Линия IP» и которым необходимо дать доступ к трансляции.
      Для работы потокового вещания потребуется библиотека HLS для Video.js. Пример кода:
      <!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Видеонаблюдение</title> <link href="css/video-js.min.css" rel="stylesheet"> <script src="js/videojs-ie8.min.js"></script> <script src="js/video.js"></script> <script src="js/lang/ru.js"></script> <script src="js/videojs-flash.min.js"></script> <script src="js/videojs-http-streaming.min.js"></script> </head> <body> <video id="video" class="video-js vjs-default-skin" width="640" height="360" poster="//video.example.com/cameras/0/image?resolution=640x360" preload="none" controls data-setup='{"language": "ru"}'> <source src="//video.example.com/cameras/0/streaming/main.m3u8" type="application/x-mpegURL" /> <p class="vjs-no-js">Для просмотра этого видео, пожалуйста, включите JavaScript и убедитесь, что ваш браузер поддерживает HTML5-видео.</p> </video> </body> </html>  
    • By Reen
      Здравствуйте. Подскажите, пожалуйста, как можно встроить трансляцию потока FLV на сайт с HTTPS? Загрузка видеопотока блокируется из-за отсутствия SSL на хосте-источнике транляции, в dev-консоли браузера кидает ошибку:
      Использую для встраивания тег 'video' и библиотеку flv.js (для возможности воспроизведения без Flash). На локальном тестовом хосте без SSL проблем нет.
      Пробовала код встраивания отсюда, но при отмеченной галке "ssl" не дает ввести порт.
    • By AlexanderA
      Есть сайт на https   на нем отображается видео ссылкой на
      http://admin:admin@111.222.333.444:77777/cameras/5/image?resolution=360x280&quality=60&rand=Fri%20May%2016%202014%2013:56:43%20GMT+0400%20(MSK) параметр rand  использует текущее время,используется для  того чтобы картинка не кешировалась.
       Проблема в следующем.  На ios версии 5. Так же старые версии firefox и chrome все работает, а так же если по прямой ссылке зайти.
       
       Но не работает если загрузить страницу в современном браузере, в данном случае Chrome выдает такую ошибку 
      The page at 'https://site.site/test.html' was loaded over HTTPS, but displayed insecure content from 'http://admin:admin@111.222.333.444:77777/cameras/4/image?resolution=360x280&quality=60&rand=Fri%20May%2016%202014%2014:11:31%20GMT+0400%20(MSK': this content should also be loaded over HTTPS. test.html:1 Failed to load resource: the server responded with a status of 401 (Unauthorized) Как обойти данную проблему. Было бы идеально, если бы можно было забрать видео потом не картинкой а в формате rtsp, rtp и прочими, которые кушает wowza 
×