使用Nginx通过SSL的RTSP流

时间:2018-08-29 07:30:51

标签: ssl nginx rtsp

出于安全目的,我想在发送数据之前对摄像机的RTSP流进行加密。 为此,我设置了具有SSL加密的NGINX服务器:

nginx.conf:

stream {
  upstream rtsp_backend {
    server                 10.0.1.1:554; #my dahua camera
    #server                  184.72.239.149:554; #big buck bunny stream
}
server {
    listen                  12345 ssl;
    proxy_pass              rtsp_backend; 
    ssl_certificate         /etc/nginx/dev_nginx.chain.crt;
    ssl_certificate_key     /etc/nginx/dev_nginx.key;        
}

我用ffplay命令测试我的配置:

ffplay -rtsp_transport tcp rtsps://user:password@127.0.0.1:12345/live

此配置可与buck bunny流一起正常工作-该流在nginx和ffplay之间进行了加密。当我用ffmpeg / ffserver自己创建rtsp流时,它也可以正常工作。

但是:问题出在我现在真正用的是大华相机(IPC-HFW1431S)。 FFPLAY告诉我:

[tls @ 0x7f7f18002e80] No default whitelist set
[tcp @ 0x7f7f18003420] No default whitelist set
[rtsp @ 0x7f7f18000b80] method OPTIONS failed: 404 Not Found

因此,对选项(SDP)的请求失败,找不到文件。 当我删除Nginx的ssl语句时,一切都很好。 我想念什么?没有SSL,一切正常。 摄像机和其他RTSP流之间的唯一区别是身份验证。但这似乎可以,因为这是在OPTIONS请求之前完成的,并且成功。

0 个答案:

没有答案