Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Не отдается картинка - client sent too long header line
Максим
Спасибо. См. ниже.
On 08/08/12 17:51, Maxim Dounin wrote:
On Wed, Aug 08, 2012 at 04:41:20PM +0300, Sergey Kobzar wrote:
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"
Это сообщение из error log'а в его исходном виде? Читай:
заголовок Referer длинный, или на самом деле короткий, и nginx
возводит напраслину?
Я вырезал Referer чтобы не писать сюда километровую строку запроса.
Исходная задача - вывести кастомную страницу ошибки на 414. Я специально
задал строку запроса такой длины.
На других доменах, с тразницей в одну букву все ОК. И как выяснилось
проблема не перманентна.
Что это может быть?
В документации нашел
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;
не помогло.
Поскольку large_client_header_buffers ограничивают и размер
request line, и размер строки заголовка - его изменение ни на
что не влияет. Если не влезла строка запроса - то и заголовок
Referer, содержащий тот же самый uri, не влезет.
Compare:
GET / HTTP/1.1
Referer: http://example.org/
Понял.
Почему имидж не отдается?
Спасибо.
Из 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" "-" - -
Это, на самом деле, не интересно. Интересно - когда "всё
нормально". Не должно бы. Хотя, конечно, браузеры могут
проявлять интеллект, но я в этом сомневаюсь. Скорее уж "просто
было в кеше".
Да - застряло в кэше.
Но вопрос остается, возможно ли в custom error page на 414 ошибку
вывести картинку?
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|