Adicione um cabeçalho dependendo do código de resposta do proxy com o Apache

Adicione um cabeçalho dependendo do código de resposta do proxy com o Apache

Eu uso o Apache 2.2 commod_proxypara algum servidor HTTP de terceiros.

Como não envia nenhum Cache-Controlcabeçalho, quero adicionar 1 dia para o código de resposta 200, 5 min para 404 e 0 para qualquer outro código de resposta.

Então eu gostaria de 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

Responder1

Eu sei que minha resposta provavelmente chegará tarde demais, mas pode ser útil para qualquer pessoa que queira definir um cabeçalho em uma resposta HTTP com base em uma condição e, mais especificamente, em uma condição no código de status HTTP.

Você pode encontraraquium exemplo de tal configuração (exemplo #8):

  1. Anexe um cabeçalho de cache para respostas com um código de status HTTP 200:
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"

Ele pode ser estendido para suportar qualquer condição baseada em variáveis ​​de ambiente de solicitação/resposta.

Este exemplo funciona para Apache httpd v2.4: suspeito que não funcione para httpd v2.2...

informação relacionada