Apacheでプロキシされた応答コードに応じてヘッダーを追加する

Apacheでプロキシされた応答コードに応じてヘッダーを追加する

私はApache 2.2を使用していますmod_proxyサードパーティの HTTP サーバーに。

ヘッダーが送信されないためCache-Control、応答コード 200 の場合は 1 日、404 の場合は 5 分、その他の応答コードの場合は 0 のいずれかを追加します。

だから私は次のようになります:

SetEnvIf HttpResponseCode "200" rc_200
SetEnvIf HttpResponseCode "404" rc_404

Header set "Cache-Control" "private, max-age=0"
Header set "Cache-Control" "public, max-age=86400" env=rc_404
Header set "Cache-Control" "public, max-age=86400" env=rc_200

答え1

私の回答はおそらく遅すぎると思いますが、条件、より具体的には HTTP ステータス コードの条件に基づいて HTTP 応答にヘッダーを設定したい人にとっては役立つと思います。

発見できるこここのような構成の例(例 #8):

  1. HTTP ステータス コード 200 の応答に Caching ヘッダーを追加します。
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"

リクエスト/レスポンス環境変数に基づいて任意の条件をサポートするように拡張できます。

この例は Apache httpd v2.4 では動作しますが、httpd v2.2 では動作しないと思われます...

関連情報