nginx配置中的proxy_buffer和proxy_cache模組有什麼差別

nginx配置中的proxy_buffer和proxy_cache模組有什麼差別

我知道一些proxy_cache用於為客戶端請求的靜態文件製作快取的資訊。但proxy_buffer確實讓我很困惑。它是否為代理後端伺服器提供緩衝?

我也看到client_max_body_sizeclient_body_buffer_size出現在它的nginx.conf前後。有關係嗎?proxy_cacheproxy_cache

答案1

代理緩衝區與 nginx 如何處理從代理伺服器收到的回應的方式有關。

啟用緩衝時,nginx 立即將來自代理伺服器的回應接收到記憶體緩衝區中,並在收到回應後關閉與代理伺服器的連線。然後,它將響應從其緩衝區發送到客戶端。

當停用緩衝時,nginx 會將回應同步傳送到客戶端。這意味著只要將完整的回應傳送到客戶端,與代理伺服器的連線就處於開啟狀態。

因此,緩衝是一種單獨暫時儲存每個客戶端的回應的方法,以允許與代理伺服器的連線更早關閉。

代理快取是 nginx 在本地儲存資料並將快取的資料副本提供給多個客戶端的過程。這意味著不會針對每個客戶端請求查詢代理伺服器,但如果快取的資料仍然被認為有效(生存期尚未過去),則將從快取中提供資料。

代理快取使代理伺服器上的負載大大減少,但它可能會導致舊資料傳送到客戶端。

相關內容