Re: Ошибка: cache file"FILENAME" has too long header...

Maxim Dounin mdounin at mdounin.ru
Thu Oct 10 12:31:27 UTC 2013


Hello!

On Thu, Oct 10, 2013 at 01:24:26PM +0400, Батогов Евгений wrote:

> Привет всем.
> Мы используем proxy cache в nginx для кэширования скриншотов телеканалов. Это обычные изображения в jpg.
> 
> Но nginx бросает следующую ошибку:
> 2013/10/09 18:52:45 [crit] 20249#0: *571428758 cache file
> "/dev/shm/screenshots/5/be/af8e98d9a99932db76fd5970feef4be5" has too long header, client:
> 10.24.131.7, server: _, request: "GET
> 
> 
> Вопрос: Каким параметром можно настроить длина заголовка?

Заголовок cache-файла - это ключ кеширования + немного других 
метаданных + заголовок ответа бекенда.

Длину загаловка настроить нельзя, можно:

a) повлиять на длины составляющих заголовка, в частности - на 
длину ключа и на длину заголовков ответа от бекенда;

б) увеличить размер буфера, используемого для чтения заголовка, с 
помощью директивы proxy_buffer_size, описание тут:
http://nginx.org/r/proxy_buffer_size.

Вообще процитированные ошибки должны появляться только в том 
случае, если ответ был сохранён с одним значением 
proxy_buffer_size, а вернуть его пытаются в location'е с другим 
значением.  Если вдруг есть основания полагать, что ошибки 
возникают в других условиях - имеет смысл поразбираться подробнее, 
в частности - посмотреть внимательно на кеш-файлы, возможно они 
просто почему-то битые.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



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