MP4 + proxy_cache/proxy_store

Igor Sysoev igor на sysoev.ru
Пн Окт 24 09:44:45 UTC 2011


On Mon, Oct 24, 2011 at 11:58:28AM +0300, Alexander Moskalenko wrote:
> Добрый день.
> 
> Есть схема 2 origin + 10 edge.
> С origin все хорошо, отдает быстро.
> 
> Проблема возникает с edge.
> На них довольно мало места и весь контент там держать не получится.
> Хотелось сделать схему с кешированием либо дотягиванием и удалением по
> atime.
> 
> Насколько я понял с кешированием не будет стримминга. Верно?

Да.

> С proxy_store есть проблема с отдачей клиенту до того как файл полностью
> скачался.
> Файлы где-то в среднем по 15МБ.
> 
>     location / {
> internal;
> aio             on;
> directio        512;
> output_buffers  1 128k;
> 
> location ~* \.mp4$ {
>     mp4;
>     try_files $uri @origin;
>     limit_rate_after  1m;
>     limit_rate        200k;
> }
> 
> location ~* \.flv$ {
>     flv;
>     try_files $uri @origin;
>     limit_rate_after  1m;
>     limit_rate        200k;
> }
>     }
> 
>     location /dl/ {
> return 503;
> location ~ ^/dl/(?P<secure_hash>[\w\-=]+,\d+)(?P<file>/.+)$ {
>     secure_link $secure_hash;
>     secure_link_md5 $secure_link_expires.$file.<passphrase>;
>     if ($secure_link = "") {
> return 404;
>     }
>     if ($secure_link = 0) {
> return 404;
>     }
>     rewrite ^ /$file last;
> }
>     }
> 
>     location @origin {
> proxy_pass http://origin;
> #proxy_buffering off;
> proxy_ignore_client_abort on;
> proxy_store             on;
> proxy_store_access      user:rw  group:r  all:r;
>     }
> 
> Вот так все работает, но клиенту ничего не отдается пока файл полностью не
> скачался (в принципе ожидаемо),

Клиенту отдаваться должно.

> но если раскоментировать proxy_buffering то
> proxy_store перестает складывать файл.

Да, proxy_buffering off не работает с proxy_store.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru