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

6

Eu uso o Apache 2.2 com mod_proxy para algum servidor HTTP de terceiros.

Como ele não envia nenhum cabeçalho Cache-Control , desejo adicionar um de 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
    
por Steve Schnepp 16.11.2011 / 14:50

1 resposta

3

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 encontrar aqui um exemplo de tal configuração (exemplo # 8):

  1. Append a Caching header for responses with a HTTP status code of 200 :
    Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"

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

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

    
por 08.09.2016 / 19:06