Agregue un encabezado según el código de respuesta proxy con Apache

Agregue un encabezado según el código de respuesta proxy con Apache

Yo uso Apache 2.2 conmod_proxya algún servidor HTTP de terceros.

Como no envía ningún Cache-Controlencabezado, quiero agregar uno de 1 día para el código de respuesta 200, 5 minutos para 404 y 0 para cualquier otro código de respuesta.

Entonces me gustaría algo como:

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

Respuesta1

Sé que mi respuesta probablemente llegue demasiado tarde, pero puede ser útil para cualquiera que desee establecer un encabezado en una respuesta HTTP en función de una condición y, más específicamente, de una condición en el código de estado HTTP.

Puedes encontraraquíun ejemplo de dicha configuración (ejemplo #8):

  1. Agregue un encabezado de almacenamiento en caché para las respuestas con un código de estado HTTP de 200:
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"

Se puede ampliar para admitir cualquier condición basada en variables de entorno de Solicitud/Respuesta.

Este ejemplo funciona para Apache httpd v2.4: sospecho que no funciona para httpd v2.2...

información relacionada