O Apache força Cache-Control: private automaticamente para solicitações HTTPS

1

Estou tentando fazer com que os navegadores armazenem em cache os recursos por meio de HTTPS . Estou usando o método impressão digital MD5 para permitir o armazenamento em cache a longo prazo e tenho esta parte funcionando bem.

O que não funciona é definir os cabeçalhos Cache-Control no Apache.

Minha configuração para ambos regular e SSL vhost contém:

ExpiresActive On
ExpiresByType text/css "now plus 1 year"
A solicitação

HTTP para /test.css produz cabeçalhos:

Cache-Control: max-age=31536000
Content-Type: text/css
Date: Wed, 15 May 2013 10:33:01 GMT
Etag: "7e572-19-4dcbdc8c04529"
Expires: Thu, 15 May 2014 10:33:01 GMT
Last-Modified: Wed, 15 May 2013 08:46:21 GMT
Server: Apache/2.2.15 (Oracle)
Vary: Accept-Encoding,User-Agent

Mas a solicitação HTTPS para o mesmo arquivo produz cabeçalhos:

Cache-Control: private, must-revalidate, no-cache, no-store
Content-Type: text/css
Date: Wed, 15 May 2013 10:33:58 GMT
Etag: "7e572-19-4dcbdc8c04529"
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Last-Modified: Wed, 15 May 2013 08:46:21 GMT
Server: Apache/2.2.15 (Oracle)
Vary: Accept-Encoding,User-Agent

BTW, Adicionando isso logo após o ExpiresByType :

Header unset Expires
Header unset Cache-Control

remove esses cabeçalhos do HTTP, mas não da solicitação HTTPS.

Além disso, verifiquei que qualquer outro cabeçalho que eu configure é passado, mas não cabeçalhos relacionados a cache como Cache-Control ou Expira - eles são sobrescritos em algum lugar.

Esse comportamento normal do Apache ou algum patch do Oracle ou Red Hat é voltado para a segurança?

Isso pode ser desativado de alguma forma?

Informações do sistema:

OS: Oracle Linux 6.4 (RHEL 6.4 based)
Apache: 2.2.15 (from rpm)
    
por Laas 16.05.2013 / 09:39

1 resposta

0

Use o Cache control: public directive para ativar o HTTPS em cache para o Firefox .

Algumas versões do Firefox exigem que o cabeçalho Cache control: public seja definido para que os recursos enviados por SSL sejam armazenados em cache no disco, mesmo que os outros cabeçalhos de armazenamento em cache estejam definidos explicitamente. Embora esse cabeçalho seja normalmente usado para ativar o armazenamento em cache por servidores proxy (conforme descrito abaixo), os proxies não podem armazenar em cache qualquer conteúdo enviado por HTTPS, portanto, é sempre seguro configurar esse cabeçalho para recursos HTTPS

Fonte: link

    
por 08.07.2013 / 06:07