Назад | Перейти на главную страницу

в чем разница между proxy_request_buffering и proxy_buffering на nginx?

Я вижу, что proxy_request_buffering буферизует запрос и proxy_buffering ответ.

Однако я хотел бы понять, что это означает изнутри.

Из Nginx документ:

Proxy_Buffering

Syntax: proxy_buffering on | off;
Default:    
proxy_buffering on;
Context:    http, server, location
Enables or disables buffering of responses from the proxied server.

Когда буферизация включена, nginx получает ответ от проксируемого сервера как можно скорее, сохраняя его в буферах, установленных proxy_buffer_size и proxy_buffers директивы. Если весь ответ не помещается в памяти, часть его можно сохранить в временный файл на диске. Запись во временные файлы контролируется proxy_max_temp_file_size и proxy_temp_file_write_size директивы.

Когда буферизация отключена, ответ передается клиенту синхронно, сразу после его получения. nginx не будет пытаться прочитать весь ответ прокси-сервера. Максимальный размер данных, которые nginx может получать от сервера за раз, устанавливается proxy_buffer_size директива.

Буферизацию также можно включить или отключить, передав «да» или «нет» в поле заголовка ответа «X-Accel-Buffering». Эту возможность можно отключить с помощью proxy_ignore_headers директива.

Proxy_Request_Buffering

Syntax: proxy_request_buffering on | off;
Default:    
proxy_request_buffering on;
Context:    http, server, location
This directive appeared in version 1.7.11.
Enables or disables buffering of a client request body.

Когда буферизация включена, все тело запроса читать от клиента перед отправкой запроса на прокси-сервер.

Когда буферизация отключена, тело запроса отправляется прокси-серверу сразу после его получения. В этом случае запрос не может быть передан в следующий сервер если nginx уже начал отправлять тело запроса.

Когда для отправки исходного тела запроса используется кодировка фрагментированной передачи HTTP / 1.1, тело запроса будет буферизовано независимо от значения директивы, если только HTTP / 1.1 не установлен. включен для проксирования.