nginx 構成の proxy_buffer と proxy_cache モジュールの違いは何ですか

nginx 構成の proxy_buffer と proxy_cache モジュールの違いは何ですか

proxy_cacheクライアントから要求された静的ファイルのキャッシュを作成するために使用されることについては、少し知っています。しかし、proxy_buffer本当に混乱しています。プロキシされたバックエンド サーバーにバッファリングされるのでしょうか?

また、それと一緒に、またその後に もclient_max_body_size表示されます。これは重要ですか?client_body_buffer_sizenginx.confproxy_cacheproxy_cache

答え1

プロキシ バッファは、nginx がプロキシ サーバーから受信した応答を処理する方法に関係します。

バッファリングが有効になっている場合、nginx はプロキシされたサーバーからの応答をすぐにメモリ バッファに受信し、応答を受信した後にプロキシされたサーバーへの接続を閉じます。その後、バッファからクライアントに応答を送信します。

バッファリングが無効になっている場合、nginx は応答をクライアントに同期的に送信します。つまり、完全な応答をクライアントに送信するまでの間、プロキシされたサーバーへの接続は開かれたままになります。

したがって、バッファリングは、プロキシされたサーバーへの接続を早く閉じることができるように、個々のクライアントごとに応答を一時的に個別に保存する方法です。

プロキシ キャッシュは、nginx がデータをローカルに保存し、キャッシュされたデータのコピーを複数のクライアントに提供するプロセスです。つまり、プロキシ サーバーはクライアントの要求ごとにクエリされるのではなく、キャッシュされたデータがまだ有効であると見なされる場合 (有効期間が経過していない)、キャッシュからデータが提供されます。

プロキシ キャッシュにより、プロキシされたサーバーの負荷は大幅に軽減されますが、古いデータがクライアントに送信されてしまう可能性があります。

関連情報