Перейти к контенту
Форум о видеонаблюдении
Const

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

Рекомендуемые сообщения

Спасибо за уточнение и приношу извинения за неточность в ответе. 

Проверяем, по результату сообщу.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вижу, что в последней версии (v20211101) поправили протокол для rpc-auth запросов. Веб-доступ под Https теперь работает !

В нашем случае NGiNX стоит на том же сервере, где и Линия.

Конфиг nginx-локейшенов такой (конфиг подчистил):

        location /web-cctv {   # For httpS over :9786
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass "http://127.0.0.1:9786/";
        }

        location ~ (js|css|img|trnslt|rpc|cameras|microphones|main|sub) {
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_pass  http://127.0.0.1:9786$request_uri;
        }

Прописывается в секцию server {}  , после чего service nginx restart


На Fedora или аналогичных hardened-дистрибутивах с SELinux=enforcing надо также дополнительно разрешить веб-серверу делать исходящие соединения:

setsebool -P httpd_can_network_connect 1

Иначе будете получать 500-ю ошибку и обильную ругань в логах от selinux-аудита.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти

  • Похожий контент

    • Автор: Const
      Добрый день.
      Возможна ли работа web и мобильных клиентов через https? Сейчас все запросы к api от web и андроид клиента идут через http. Попробовал с помощью nginx все запросы завернуть на https 301-м редиректом, но не сработало. В tcpdump видно, что на запрос, например, "/cameras" в ответ уходит правильный редирект, но подключения к https порту не появляется, похоже, клиент не обрабатывает такие ответы.
    • Автор: Павел М.
      Возникла задача организовать закрытую трансляцию камер на сайте. Ни один из стандартных вариантов (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>  
    • Автор: Reen
      Здравствуйте. Подскажите, пожалуйста, как можно встроить трансляцию потока FLV на сайт с HTTPS? Загрузка видеопотока блокируется из-за отсутствия SSL на хосте-источнике транляции, в dev-консоли браузера кидает ошибку:
      Использую для встраивания тег 'video' и библиотеку flv.js (для возможности воспроизведения без Flash). На локальном тестовом хосте без SSL проблем нет.
      Пробовала код встраивания отсюда, но при отмеченной галке "ssl" не дает ввести порт.
    • Автор: 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 
×