Здравствуйте, All!

nginx/1.23.0 из официального репозитория nginx.org

В логах есть такой варнинг:

2022/07/12 13:56:37 [warn] 14352#14352: *183 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000011, client: 10.23.154.207, server: sentry.example.com, request: "POST /api/22/envelope/ HTTP/2.0", host: "sentry.example.com"

Судя по информации из access-лога - размер контента - 41 байт:

# grep /api/22/envelope/ access.log | grep 13:56:37 | less
2022-07-12T13:56:37+03:00 GB 10.23.154.207 https sentry.example.com POST "/api/22/envelope/" 200 41 "-" "sentry.php.laravel/2.9.0" 0.010 0.002

Если прописать в nginx.conf директиву client_body_buffer_size 32k;
- тогда варнинг из error.log пропадает, но если вернуть дефолтовое
значение client_body_buffer_size 16k; - варнинг снова появляется логах.

Размер контента - всего 41 байт. Как такое может быть?

client_body_buffer_size - эта переменная задает только статический
размер буфера, и в nginx сейчас нельзя сделать динамическое выделение
буфера по необходимости, как это сделано в директиве proxy_buffers ?

Возможно было бы логичним, для экономии памяти сделать возможность
задавать client_body_buffer_size по аналогии с proxy_buffers,
например так:

client_body_buffer_size 8k;
client_body_buffers  32 8k;

--
Best regards,
 Gena
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org

Ответить