Re: Закешировать веб-камеру

Igor Sysoev igor на sysoev.ru
Пн Дек 13 11:01:18 MSK 2010


On Mon, Dec 13, 2010 at 01:00:48AM -0500, softshape wrote:

> стоит задача на 3 секунды кешировать
> JPEG-изображение с веб-камеры. Браузер
> картинку обновляет при помощи
> 
>   camera.src = '/r/webcam1/jpg/image.jpg?' + Math.random();
> 
> соотв. нужно чтобы все браузеры не
> ломились напрямую к веб-камере, а
> получали закешированную nginx'ом
> картинку.
> 
> Делаем так:
> 
> http {
> 
>     proxy_cache_path  /var/tmp  keys_zone=tmpcache:10m;
>     proxy_temp_path /var/tmp;
> .....
> 
>         location /r/webcam1/ {
>                 proxy_pass http://ip.address.of.webcam/;
>                 proxy_cache_valid 3s;
>                 expires 3s;
>                 proxy_cache tmpcache;
>         }
> 
> proxy_pass проходит, картинку видно, но она
> не кешируется. Даже если просто сидеть
> и жать в браузере F5 раз в секунду,
> картинка приходит новая. С '/image.jpg?' +
> Math.random() - тем более.
> 
> Что нужно подкрутить, чтобы кеш был
> более "железобетонный" ?

# игнорировать заголовки веб-камеры:
proxy_ignore_headers  Expires  Cache-Control;

# убрать случайный аргумент из ключа кэша
proxy_cache_key       ip.address.of.webcam$uri;


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



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