RTSP поток через SSL с помощью nginx - PullRequest
0 голосов
/ 29 августа 2018

в целях безопасности Я хочу зашифровать поток RTSP камеры перед отправкой данных в мир. Для этого я настроил сервер NGINX с шифрованием SSL:

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

Эта конфигурация прекрасно работает с потоком доллара кролика - поток шифруется между nginx и ffplay. И это также прекрасно работает, когда я сам создаю поток rtsp с помощью ffmpeg / ffserver.

НО: проблема сейчас в моем реальном случае использования с камерой Dahua (IPC-HFW1431S). FFPLAY говорит мне:

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

Таким образом, запрос параметров (SDP) не выполняется, файл не найден. Когда я удаляю ssl-операторы nginx, все нормально. Что мне не хватает? Все отлично работает без SSL. Единственная разница между камерой и другими потоками RTSP заключается в аутентификации. Но, похоже, это нормально, потому что это делается до запроса OPTIONS, и он успешно выполняется.

...