Posso obter o Apache 2.2 para definir um cabeçalho de resposta específico se algum outro cabeçalho de resposta estiver ausente

2

Eu tenho um servidor Apache 2.2 executando o mod_proxy. Tivemos um cenário em que uma resposta veio da origem corrompida, não tinha cabeçalhos de controle de cache ou de tipo de conteúdo. Isso significava que os proxies e clientes de downstream armazenavam a resposta desonesta.

O que eu gostaria de fazer é se a resposta não tiver um cabeçalho de tipo de conteúdo e controle de cache para inserir um Cache-Control:max-age=0, no-cache header

    
por Glenn Slaven 04.04.2013 / 22:53

2 respostas

2

Eu acho que para fazer isso no Apache, você precisa estar executando o 2.4. mod_headers é o meio normal de manipular cabeçalhos de resposta e não é flexível o suficiente para fazer o que você deseja.

Em 2.4, algo como isto deve funcionar:

<If "-z resp('Cache-Control') && -z resp('Content-Type')">
    Header set Cache-Control "max-age=0, no-cache"
</If>
    
por 05.04.2013 / 08:10
2

do reescrito manual, eu não testei mas parece que você poderia fazer algo como:

RewriteCond %{HTTP:Cache-Control} ^$ [AND]
RewriteCond %{HTTP:Content-Type} ^$
Header add Cache-Control:max-age=0, no-cache
    
por 04.04.2013 / 23:41