Varnish não armazena em cache o website que possui sessão

2

Eu tentei curl -I domainname e aqui está a resposta.

HTTP/1.1 200 OK
Date: Tue, 21 Apr 2015 14:49:09 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Set-Cookie: PHPSESSID=kpgqqefkge38jlqc608hq12046; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
X-Varnish: 294982
Age: 0
Via: 1.1 varnish-v4
Content-Length: 0
Connection: keep-alive

HTTP/1.1 200 OK
Date: Tue, 21 Apr 2015 14:49:10 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Set-Cookie: PHPSESSID=onqvu51sggp70nla7ke5scgr61; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
X-Varnish: 163920
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive


HTTP/1.1 200 OK
Date: Tue, 21 Apr 2015 14:49:10 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Set-Cookie: PHPSESSID=s8sd6qufhjl9ki0dh8jc2nb206; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
X-Varnish: 294985
Age: 0
Via: 1.1 varnish-v4
Content-Length: 0
Connection: keep-alive

A resposta acima tem as seguintes observações:

  1. O valor PHPsessionID continua mudando a cada HIT.

  2. O valor Idade do verniz permanece 0. O que significa que o site não está sendo atacado?

Eu tenho um site que requer o uso de sessão. Como os usuários podem fazer login e seus detalhes são mantidos em sessão.

De alguma forma, como tornar o site armazenado em cache pelo verniz? Obrigada!

    
por user1099944 21.04.2015 / 08:31

1 resposta

3

Você precisa desativar a inicialização automática da sessão do PHP e iniciar as sessões apenas quando os usuários fizerem login. Dessa forma, o PHP não define o PHPSESSID cookie para usuários não conectados, o que permite que o Varnish armazene essas páginas em cache.

    
por 21.04.2015 / 11:46