From 4b44c7c304d72f4e3a2bd4eca42a797bb8fe75fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florent=20Thi=C3=A9ry?= <florent.thiery@ubicast.eu> Date: Thu, 19 Jan 2017 18:17:32 +0100 Subject: [PATCH] use caching in msuser vhost, fixes #18553 --- 6.Nginx/vhost_mediaserver-msuser.conf | 29 +++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/6.Nginx/vhost_mediaserver-msuser.conf b/6.Nginx/vhost_mediaserver-msuser.conf index 6460466d..692427ad 100644 --- a/6.Nginx/vhost_mediaserver-msuser.conf +++ b/6.Nginx/vhost_mediaserver-msuser.conf @@ -1,3 +1,6 @@ +# for a 20 Mbits/s stream, we want to keep maybe 10s of video, 40 streams means 1 GB +proxy_cache_path /tmp levels=1:2 keys_zone=livecache:10m max_size=2g inactive=30s; + geo $msuser_whitelist { default 0; 127.0.0.1 1; @@ -54,8 +57,30 @@ server { add_header Pragma public; add_header Cache-Control "public"; } - location /streaming/ { - proxy_pass http://localhost:1935/live/; + location ~ ^/streaming/.*\.m3u8.*$ { + rewrite ^/streaming/(.*)$ /live/$1 break; + proxy_pass http://localhost:1935; + proxy_cache livecache; + proxy_cache_lock on; + expires -1; + proxy_cache_min_uses 1; + proxy_cache_valid 200 1s; + add_header X-Cache $upstream_cache_status; + add_header Access-Control-Allow-Origin "*"; + proxy_cache_key $scheme$proxy_host$uri; + proxy_cache_use_stale updating; + } + location ~ /streaming/.*\.(ts).*$ { + rewrite ^/streaming/(.*)$ /live/$1 break; + proxy_pass http://localhost:1935; + proxy_cache livecache; + proxy_cache_lock on; + expires 2s; + proxy_cache_min_uses 1; + proxy_cache_valid 200 10s; + add_header X-Cache $upstream_cache_status; + add_header Access-Control-Allow-Origin "*"; + proxy_cache_key $scheme$proxy_host$uri; } location / { uwsgi_pass unix:///home/msuser/mstmp/uwsgi.sock; -- GitLab