a client request body is buffered to a temporary file

Vladimir Sopot jd на jdwuzhere.ru
Чт Июл 26 05:57:17 UTC 2018


Спасибо, настроили $content_length. Стало ещё страннее. При настройках

    client_max_body_size 100m;
    client_body_buffer_size 100m;
    client_body_in_file_only off;

клиенты делает POST c $content_length=61554, 566069 и тд (немного, совсем мало) и в логе та же самая ошибка. Между этими двумя $content_length=6849049 прошёл без ошибок

Бонус: время у событий в access_log-е на секунду больше, чем в error_log-е, запросы отловлен точно, они достаточно редкие.

# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --without-http_uwsgi_module --without-http_scgi_module --with-http_ssl_module --with-http_stub_status_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-file-aio --with-http_image_filter_module --with-http_realip_module --add-module=../ngx_cache_purge-2.3 --add-module=../ngx_http_geoip2_module

> On 17 Jul 2018, at 15:29, Maxim Dounin <mdounin на mdounin.ru> wrote:
> 
> Hello!
> 
> On Tue, Jul 17, 2018 at 01:16:14PM +0300, Vladimir Sopot wrote:
> 
>> Хотел бы предложить добавить размер сохраняемого тела в notice 
>> "a client request body is buffered to a temporary file 
>> /wwwroot/tmp/nginx/client_body_temp/0004405740”, типа “a client 
>> request body (100Mb) is buffered to a temporary file 
>> /wwwroot/tmp/nginx/client_body_temp/0004405740”. Просто, чтобы 
>> понять, то ли пользователи пихают невпихуемое (и насколько) , то 
>> ли client_body_buffer_size закручен неправильно.
> 
> В общем случае размер тела запроса в момент логгирования сообщения 
> про "client request body is buffered to a temporary file" - 
> неизвестен.  Так что по большому счёту информацию о размере тела 
> запроса всё равно можно получить только из access-лога, настроив 
> логгирование $content_length.  Само сообщение стоит рассматривать 
> скорее как напоминание о том, что это может иметь смысл сделать, 
> если использование дисковой подсистемы для тел запросов не 
> ожидается.
> 
> Что до "пихают невпихуемое", то для этого есть директива 
> client_max_body_size, по умолчанию 1 мегабайт.
> 
> -- 
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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