11

nginx で add_header ディレクティブを使用すると、オリジン サーバーからの応答にヘッダーが追加されます。

オリジン サーバーが cache-control public、max-age=60 を返すとします。ただし、nginx リバース プロキシの場所では、次のように設定します。

add_header キャッシュ コントロール パブリック、最大年齢 = 10

これは正確には何をしますか?私が考えることができる2つの異なるシナリオがあります:

1) Nginx はオリジンサーバーからのキャッシュ制御ヘッダーを尊重し、60 秒の有効期限でコンテンツをキャッシュに保存します。次に、上書きされたヘッダーを含む応答を渡し、クライアントが 10 秒の有効期限でリソースをキャッシュに保存するようにします。

また..

2) Nginx は最初に応答ヘッダーを上書きしてから解釈します。10 秒の有効期限でリソースを保存し、10 秒の有効期限でそれをキャッシュするクライアントにも応答を渡します。

4

2 に答える 2

13

Nginx はオリジン サーバーの直前にヘッダーを追加するため、次のようになります。

cache-control: public, max-age=10
cache-control: public, max-age=60

オリジン ヘッダーは nginx ヘッダーを置き換えます。

ソリューション?元のヘッダーを置換またはクリアするには、モジュール more_set_headers および more_clear_headers を持つ nginx v1.4.3 を使用します。

モジュールはここからダウンロードできます。
ここでは、nginx 1.4.3 のダウンロード方法とインストール方法について説明します。
ここでは、ディレクティブの使用方法について説明します。

于 2013-12-11T18:39:59.070 に答える