我有一个问题天气可以configuration一个NGINX反向代理,以便它不会将videostream的每个请求都代理到后端服务器,而是打开单个连接来获取videostream并将其分发给客户端。 现在我使用下面的configuration。
server { listen 9000 ssl; server_name some.domain www.some.domain; error_log /var/log/nginx/error.cam.log; access_log /var/log/nginx/access.cam.log; ssl on; ssl_certificate /etc/letsencrypt/live/some.domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/some.domain/privkey.pem; location / { auth_basic "Login"; auth_basic_user_file /etc/nginx/auth/Somefile; proxy_pass http://XXX.XXX.XXX.XXX:9000/; proxy_http_version 1.1; proxy_buffering off; } }
每当客户端请求从NGINX服务器请求该站点时,导致新的后端到NGINX连接具有完全相同的videostream。
上图显示了传出networkingstream量:绿色= Nginx服务器,蓝色=后端服务器。 每个峰值意味着一个新的客户端访问videoMJPGstream。
所以问题是我有一个从后端到NGINX代理严格有限的性能,因为后端是一个树莓派,不能提供更多的30Mbit稳定的stream。 我已经尝试过缓冲等,但没有成功。 是否有任何方法使用单个连接到后端?
来自德国,弗洛的感谢和问候
Nginx将始终为传入连接创build新的代理连接,除非它是本地caching的。 由于MJPG是一个无限循环,在这里似乎不是一个select。
我想尝试的是在代理服务器上设置一个ffmpeg / vlc,以便从rpi中使用mjpgstream。 然后Nginx可以连接到本地的ffmpeg / vlc来获取stream。 您将只有一个连接到后端服务器。