Назад | Перейти на главную страницу

Varnish не кэширует веб-сайт, у которого есть сеанс

Я попытался curl -I domainname и вот ответ.

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

В приведенном выше ответе есть следующие наблюдения:

  1. Значение PHPsessionID меняется при каждом HIT.

  2. Значение Varnish Age остается равным 0. Что означает, что сайт не обновляется?

У меня есть веб-сайт, который требует использования сеанса. Поскольку пользователям разрешено входить в систему, и их данные хранятся в сеансе.

В любом случае, как заставить сайт кешироваться с помощью Varnish? Спасибо!

Вы должны отключить автоматический запуск сеанса PHP и запускать сеансы только при входе пользователя в систему. Таким образом, PHP не устанавливает PHPSESSID cookie для незарегистрированных пользователей, который позволяет Varnish кэшировать эти страницы.