Re: proxy cache + закачка файла

Gena Makhomed gmm на csdoc.com
Пт Апр 16 10:31:28 MSD 2010


On 16.04.2010 4:10, grigory wrote:

> Я включил на nginx кеширование proxy_cache, но хочу, чтобы у меня не кешировались запросы вида:
> location ~* ^/download { }, т.к. по этой ссылке пользователю скачивается картинка следующим образом:
>
> header("Content-Type: image/" . $ext);
> header("Content-Length: " . (string)filesize($path_to_image));
> header("Content-Disposition: attachment; filename=domain.com_" . $pic_id . "." . $ext);
> header("Content-Transfer-Encoding: binary\n");
> readfile($image);
>
> Если я не добавляю в конфиг этот location ~* ^/download { }, то всё прекрасно работает, но nginx кеширует эти картинки, а этого делать не нужно. Когда же я добавляю location ~* ^/download { proxy_cache off; }, то по ссылке перестают выдаваться картинки, а выдаётся на скачку сам .php-скрипт.
>
> Как исправить ситуацию?

используйте X-Accel-Redirect

документация: http://sysoev.ru/nginx/links.html
Использование X-Accel-Redirect с nginx для реализации контролируемых 
скачиваний (с примерами для rails и php)

-- 
Best regards,
  Gena




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