Re: Не отдается картинка - client sent too long header line

Sergey Kobzar sergey.kobzar at itcraft.org
Wed Aug 8 13:41:20 UTC 2012


On 08/08/12 16:39, Sergey Kobzar wrote:
> On 08/08/12 14:34, Sergey Kobzar wrote:
>> Есть кастомная страница для 414 ошибки:
>>
>> error_page 414 /errors/414.html;
>>
>> Если запрашиваю страницу напрямую http://test.biz/errors/414.html, все
>> ОК.
>>
>> Если вызываю 414 ошибку (Request-URI Too Large), то на некоторых доменах
>> все ОК, а на некоторых html отображается нормально, но картинки нет
>> видно. При этом логе:
>>
>> 2012/08/08 12:21:11 [info] 16055#0: *14212044 client sent too long
>> header line: "Referer: http://tst.biz/
>> ...
>> " while reading client request headers, client: 1.1.1.1, server:
>> localhost, request: "GET /errors/images/logo.png HTTP/1.1", host:
>> "tst.biz"
>>
>> На других доменах, с тразницей в одну букву все ОК. И как выяснилось
>> проблема не перманентна.
>>
>> Что это может быть?
>
> В документации нашел
> http://nginx.org/ru/docs/http/ngx_http_core_module.html#large_client_header_buffers
>
>
> "Поле заголовка запроса также не должно превышать размера одного буфера,
> иначе клиенту возвращается ошибка 400 (Bad Request)."
>
> - я как раз 400 ошибку и получаю.
>
> выставил
>
> large_client_header_buffers 4 32k;
>
> не помогло.
>
> Почему имидж не отдается?
>
> Спасибо.

Из access.log:
178.151.129.74 - - [08/Aug/2012:14:39:59 +0100] "GET 
/errors/images/logo.png HTTP/1.1" 400 372 "-" "Mozilla/5.0 (X11; Linux 
i686; rv:10.0.6) Gecko/20100101 Firefox/10.0.6" "-" - -



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