changeset 1437:8e7995bb8c6b

Documented proxy_request_buffering and friends.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 24 Mar 2015 15:17:21 +0300
parents 2333e08e277d
children 3f5c6286d55b
files xml/en/docs/http/ngx_http_fastcgi_module.xml xml/en/docs/http/ngx_http_proxy_module.xml xml/en/docs/http/ngx_http_scgi_module.xml xml/en/docs/http/ngx_http_uwsgi_module.xml xml/ru/docs/http/ngx_http_fastcgi_module.xml xml/ru/docs/http/ngx_http_proxy_module.xml xml/ru/docs/http/ngx_http_scgi_module.xml xml/ru/docs/http/ngx_http_uwsgi_module.xml
diffstat 8 files changed, 278 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/docs/http/ngx_http_fastcgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/en/docs/http/ngx_http_fastcgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Module ngx_http_fastcgi_module"
         link="/en/docs/http/ngx_http_fastcgi_module.html"
         lang="en"
-        rev="27">
+        rev="28">
 
 <section id="summary">
 
@@ -1152,6 +1152,35 @@
 </directive>
 
 
+<directive name="fastcgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Enables or disables buffering of a client request body.
+</para>
+
+<para>
+When buffering is enabled, the entire request body is
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">read</link>
+from the client before sending the request to a proxied server.
+</para>
+
+<para>
+When buffering is disabled, the request body is sent to the proxied server
+immediately as it is received.
+In this case, the request cannot be
+<link id="fastcgi_next_upstream">sent to the next server</link>
+if nginx already started sending the request body.
+</para>
+
+</directive>
+
+
 <directive name="fastcgi_send_lowat">
 <syntax><value>size</value></syntax>
 <default>0</default>
--- a/xml/en/docs/http/ngx_http_proxy_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/en/docs/http/ngx_http_proxy_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Module ngx_http_proxy_module"
         link="/en/docs/http/ngx_http_proxy_module.html"
         lang="en"
-        rev="35">
+        rev="36">
 
 <section id="summary">
 
@@ -1463,6 +1463,42 @@
 </directive>
 
 
+<directive name="proxy_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Enables or disables buffering of a client request body.
+</para>
+
+<para>
+When buffering is enabled, the entire request body is
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">read</link>
+from the client before sending the request to a proxied server.
+</para>
+
+<para>
+When buffering is disabled, the request body is sent to the proxied server
+immediately as it is received.
+In this case, the request cannot be
+<link id="proxy_next_upstream">sent to the next server</link>
+if nginx already started sending the request body.
+</para>
+
+<para>
+When HTTP/1.1 chunked transfer encoding is used
+to send the original request body,
+the request body will be buffered unless
+<link id="proxy_http_version">HTTP/1.1 is enabled</link> for proxying.
+</para>
+
+</directive>
+
+
 <directive name="proxy_send_lowat">
 <syntax><value>size</value></syntax>
 <default>0</default>
--- a/xml/en/docs/http/ngx_http_scgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/en/docs/http/ngx_http_scgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Module ngx_http_scgi_module"
         link="/en/docs/http/ngx_http_scgi_module.html"
         lang="en"
-        rev="15">
+        rev="16">
 
 <section id="summary">
 
@@ -1052,6 +1052,41 @@
 </directive>
 
 
+<directive name="scgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Enables or disables buffering of a client request body.
+</para>
+
+<para>
+When buffering is enabled, the entire request body is
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">read</link>
+from the client before sending the request to a proxied server.
+</para>
+
+<para>
+When buffering is disabled, the request body is sent to the proxied server
+immediately as it is received.
+In this case, the request cannot be
+<link id="scgi_next_upstream">sent to the next server</link>
+if nginx already started sending the request body.
+</para>
+
+<para>
+When HTTP/1.1 chunked transfer encoding is used
+to send the original request body,
+the request body will be buffered.
+</para>
+
+</directive>
+
+
 <directive name="scgi_send_timeout">
 <syntax><value>time</value></syntax>
 <default>60s</default>
--- a/xml/en/docs/http/ngx_http_uwsgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/en/docs/http/ngx_http_uwsgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Module ngx_http_uwsgi_module"
         link="/en/docs/http/ngx_http_uwsgi_module.html"
         lang="en"
-        rev="17">
+        rev="18">
 
 <section id="summary">
 
@@ -1094,6 +1094,41 @@
 </directive>
 
 
+<directive name="uwsgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Enables or disables buffering of a client request body.
+</para>
+
+<para>
+When buffering is enabled, the entire request body is
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">read</link>
+from the client before sending the request to a proxied server.
+</para>
+
+<para>
+When buffering is disabled, the request body is sent to the proxied server
+immediately as it is received.
+In this case, the request cannot be
+<link id="uwsgi_next_upstream">sent to the next server</link>
+if nginx already started sending the request body.
+</para>
+
+<para>
+When HTTP/1.1 chunked transfer encoding is used
+to send the original request body,
+the request body will be buffered.
+</para>
+
+</directive>
+
+
 <directive name="uwsgi_send_timeout">
 <syntax><value>time</value></syntax>
 <default>60s</default>
--- a/xml/ru/docs/http/ngx_http_fastcgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/ru/docs/http/ngx_http_fastcgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_fastcgi_module"
         link="/ru/docs/http/ngx_http_fastcgi_module.html"
         lang="ru"
-        rev="27">
+        rev="28">
 
 <section id="summary">
 
@@ -1146,6 +1146,35 @@
 </directive>
 
 
+<directive name="fastcgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Разрешает или запрещает использовать буферизацию тела запроса клиента.
+</para>
+
+<para>
+Если буферизация включена, то тело запроса полностью
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">читается</link>
+от клиента перед отправкой запроса на проксируемый сервер.
+</para>
+
+<para>
+Если буферизация выключена, то тело запроса отправляется
+на проксируемый сервер сразу же по мере его поступления.
+В этом случае запрос не может быть
+<link id="fastcgi_next_upstream">отправлен на следующий сервер</link>,
+если nginx уже начал отправку запроса.
+</para>
+
+</directive>
+
+
 <directive name="fastcgi_send_lowat">
 <syntax><value>размер</value></syntax>
 <default>0</default>
--- a/xml/ru/docs/http/ngx_http_proxy_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/ru/docs/http/ngx_http_proxy_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_proxy_module"
         link="/ru/docs/http/ngx_http_proxy_module.html"
         lang="ru"
-        rev="35">
+        rev="36">
 
 <section id="summary">
 
@@ -1462,6 +1462,42 @@
 </directive>
 
 
+<directive name="proxy_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Разрешает или запрещает использовать буферизацию тела запроса клиента.
+</para>
+
+<para>
+Если буферизация включена, то тело запроса полностью
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">читается</link>
+от клиента перед отправкой запроса на проксируемый сервер.
+</para>
+
+<para>
+Если буферизация выключена, то тело запроса отправляется
+на проксируемый сервер сразу же по мере его поступления.
+В этом случае запрос не может быть
+<link id="proxy_next_upstream">отправлен на следующий сервер</link>,
+если nginx уже начал отправку запроса.
+</para>
+
+<para>
+Если для отправки первоначального тела запроса используется HTTP/1.1
+и передача данных частями (chunked transfer encoding),
+то тело запроса буферизуется, если для проксирования также не
+<link id="proxy_http_version">включен HTTP/1.1</link>.
+</para>
+
+</directive>
+
+
 <directive name="proxy_send_lowat">
 <syntax><value>размер</value></syntax>
 <default>0</default>
--- a/xml/ru/docs/http/ngx_http_scgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/ru/docs/http/ngx_http_scgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_scgi_module"
         link="/ru/docs/http/ngx_http_scgi_module.html"
         lang="ru"
-        rev="15">
+        rev="16">
 
 <section id="summary">
 
@@ -1045,6 +1045,41 @@
 </directive>
 
 
+<directive name="scgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Разрешает или запрещает использовать буферизацию тела запроса клиента.
+</para>
+
+<para>
+Если буферизация включена, то тело запроса полностью
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">читается</link>
+от клиента перед отправкой запроса на проксируемый сервер.
+</para>
+
+<para>
+Если буферизация выключена, то тело запроса отправляется
+на проксируемый сервер сразу же по мере его поступления.
+В этом случае запрос не может быть
+<link id="scgi_next_upstream">отправлен на следующий сервер</link>,
+если nginx уже начал отправку запроса.
+</para>
+
+<para>
+Если для отправки первоначального тела запроса используется HTTP/1.1
+и передача данных частями (chunked transfer encoding),
+то тело запроса буферизуется.
+</para>
+
+</directive>
+
+
 <directive name="scgi_send_timeout">
 <syntax><value>время</value></syntax>
 <default>60s</default>
--- a/xml/ru/docs/http/ngx_http_uwsgi_module.xml	Wed Mar 18 19:01:42 2015 +0300
+++ b/xml/ru/docs/http/ngx_http_uwsgi_module.xml	Tue Mar 24 15:17:21 2015 +0300
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_uwsgi_module"
         link="/ru/docs/http/ngx_http_uwsgi_module.html"
         lang="ru"
-        rev="17">
+        rev="18">
 
 <section id="summary">
 
@@ -1086,6 +1086,41 @@
 </directive>
 
 
+<directive name="uwsgi_request_buffering">
+<syntax><value>on</value> | <value>off</value></syntax>
+<default>on</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>1.7.11</appeared-in>
+
+<para>
+Разрешает или запрещает использовать буферизацию тела запроса клиента.
+</para>
+
+<para>
+Если буферизация включена, то тело запроса полностью
+<link doc="ngx_http_core_module.xml" id="client_body_buffer_size">читается</link>
+от клиента перед отправкой запроса на проксируемый сервер.
+</para>
+
+<para>
+Если буферизация выключена, то тело запроса отправляется
+на проксируемый сервер сразу же по мере его поступления.
+В этом случае запрос не может быть
+<link id="uwsgi_next_upstream">отправлен на следующий сервер</link>,
+если nginx уже начал отправку запроса.
+</para>
+
+<para>
+Если для отправки первоначального тела запроса используется HTTP/1.1
+и передача данных частями (chunked transfer encoding),
+то тело запроса буферизуется.
+</para>
+
+</directive>
+
+
 <directive name="uwsgi_send_timeout">
 <syntax><value>время</value></syntax>
 <default>60s</default>