в чем разница между модулями proxy_buffer и proxy_cache в конфигурации nginx

в чем разница между модулями proxy_buffer и proxy_cache в конфигурации nginx

Я немного знаю о proxy_cacheтом, что используется для создания кэша для статического файла, запрошенного клиентом. Но это proxy_bufferменя действительно смутило. Буферизует ли он прокси-серверы бэкэнда?

И я также вижу client_max_body_sizeи client_body_buffer_sizeпоявляюсь nginx.confвместе с ним proxy_cacheи proxy_cacheпосле него. Имеет ли это значение?

решение1

Прокси-буфер связан со способом, которым nginx обрабатывает ответ, полученный от проксированного сервера.

При включенной буферизации nginx получает ответ от проксируемого сервера немедленно в буферы памяти и закрывает соединение с проксируемым сервером после получения ответа. Затем он отправляет ответ клиенту из своих буферов.

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

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

Кэширование прокси-сервера — это процесс локального хранения данных nginx и предоставления кэшированной копии данных нескольким клиентам. Это означает, что проксированный сервер не запрашивается для каждого клиентского запроса, но данные предоставляются из кэша, если кэшированные данные все еще считаются действительными (срок действия не истек).

Кэширование прокси-сервера значительно снижает нагрузку на прокси-сервер, но может привести к отправке клиентам старых данных.

Связанный контент