proxy_cache_bypass $http_cache_control の理解

proxy_cache_bypass $http_cache_control の理解

によるとNginx のドキュメントの上proxy_cache_bypass

応答がキャッシュから取得されない条件を定義します。文字列パラメータの少なくとも 1 つの値が空でなく、"0" と等しくない場合、応答はキャッシュから取得されません。

ヘッダー付きのリクエストをCache-Control: no-cacheNginx キャッシュをバイパスしてアップストリーム サービスに転送したいです。次の設定を使用すればよいでしょうか?

proxy_cache_bypass $http_cache_control;

Cache-ControlNginx は、 の値がゼロ以外の場合は常に、その内容が であるかどうかを確認せずにキャッシュをバイパスすると思われるので、質問しました。no-cacheそうでない場合、目的を達成するための最善の方法は何でしょうか?

答え1

正解ですmap正しい値を選択してくださいキャッシュを制御します。

例えば:

map $http_cache_control $cache_bypass {
    no-cache   1;
}

proxy_cache_bypass $cache_bypass;

mapブロックはブロックの外側に配置する必要があることに注意してくださいserver

関連情報