在运动视频流中使用SSL / HTTPS

时间:2016-02-14 00:11:53

标签: html apache ssl raspberry-pi streaming

是否可以使用动作创建安全连接?我已经使用Apache在HTML页面上嵌入了我的运动流,但它不会显示,因为它是安全页面上不安全的iframe。我可以在

查看动画流
MacBook-Pro-di-Rodolfo:~ Rodolfo$ echo Hello World!
Hello World!
MacBook-Pro-di-Rodolfo:~ Rodolfo$ echo 'Hello World!'
Hello World!
MacBook-Pro-di-Rodolfo:~ Rodolfo$ echo "Hello World!"
echo "Hello World"
Hello World

但嵌入式视频

http://example.com:<Motion-Port>

不会显示。

iFrame代码:

https://example.com

2 个答案:

答案 0 :(得分:0)

答案是不使用动作。它尚未在3 years!中使用ZoneMinderiSpy进行更新。

我希望我在stubbornly pushing through Motion.

之前检查过这个

答案 1 :(得分:0)

Yessir-您可以完全做到这一点-但您不能仅凭运动来做到这一点。 Motion仅执行最少的身份验证。本质上,它归结为您需要一些代理HTTP流并将其包装在ssl中。

在节点中,有一个称为mjpeg-proxy的过时软件包,您可以将其用作中间件。 https://github.com/vizzyy-org/mothership/blob/master/routes/cam.js#L27

在java中,您可以执行相同的操作:调用您的Web服务器,该服务器调用运动流,然后将整个内容包装在ssl连接中并返回给客户端。 https://github.com/vizzyy-org/spring_react/blob/master/src/main/java/vizzyy/controller/VideoController.java#L54

最后,您可以使用ngix或apache2完成此操作。在apache中,就像设置相互身份验证然后代理到流一样简单。这是我的2路ssl包装我的流的apache配置

<VirtualHost *:443>
  ServerAdmin somehost

  SSLEngine on
  SSLProtocol -all +TLSv1.2 +TLSv1.3
  SSLHonorCipherOrder on
  SSLCipherSuite      ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AE$
  SSLCompression      off
  SSLSessionTickets   off
  SSLCertificateFile server-cert.pem
  SSLCertificateKeyFile server-key.pem
  SSLVerifyClient require
  SSLCACertificateFile "ca-bundle-client.crt"

  ProxyPass "/video" "http://stream.local:9002"
  ProxyPassReverse "/video" "http://stream.local:9002"

</VirtualHost>

请注意,以上三个选项必须在LAN / VPC /本地内部进行,否则您将暴露流。您必须在受信任的网络中代理它,并且然后将包装的流暴露给外部网络。