Opened 3 years ago

Closed 3 years ago

#1344 closed defect (wontfix)

client_body_temp_path needed, even with option proxy_request_buffering off

Reported by: dioni21@… Owned by:
Priority: minor Milestone:
Component: nginx-core Version: 1.12.x
Keywords: Cc:
uname -a: Linux localhost 2.6.32-504.8.1.el6.x86_64 #1 SMP Fri Dec 19 12:09:25 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.12.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.1.0f 25 May 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/thanos/nginx-1.12.1 --without-mail_smtp_module --without-mail_pop3_module --without-mail_imap_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --with-http_ssl_module --with-cc=gcc --with-cc-opt='-O3 -fstack-protector-all -march=core2' --with-ld-opt= --add-module=nginx-ey-balancer-0.0.9 --with-openssl=openssl-1.1.0f --with-threads --without-http_geo_module --without-http_autoindex_module --without-http-cache --without-http_userid_module --without-http_memcached_module --without-http_charset_module --without-http_auth_basic_module --without-http_ssi_module --without-http_autoindex_module --without-http_referer_module --without-http_limit_conn_module --without-http_browser_module

Description

We want a clean configuration, so no client body temp in disk.

Our setup did not even create the path to store files, but it has been "auto-specified" on configuration.

nginx.conf has configured:

proxy_request_buffering off;

But still, we get an error:

nginx: the configuration file /opt/nginx-thanos-fe/conf/nginx.conf syntax is ok
nginx: [emerg] mkdir() "/opt/thanos/nginx-1.12.1/client_body_temp" failed (13: Permission denied)

Change History (1)

comment:1 by Maxim Dounin, 3 years ago

Resolution: wontfix
Status: newclosed

Even with proxy_request_buffering off there are plenty cases when nginx will have to read buffer client's body to disk - for example, when a client uses chunked transfer encoding, and proxy_http_version is 1.0; or when using fastcgi instead of proxy; or when using DAV module. As such, directives to control reading request body are completely independent from directives to controlling how to proxy requests, and even with proxy_request_buffering off nginx will still try to create client_body_temp_path directory in case it will be used. There are no plans to change this.

Note: See TracTickets for help on using tickets.