Заставить NGINX не кэшировать контент для авторизованных пользователей - PullRequest
0 голосов
/ 06 декабря 2018

Я столкнулся с проблемой, с которой не могу справиться.Я вынужден использовать PHP fastcgi кеш в NGINX, чтобы уменьшить нагрузку на сервер.Такой подход работает отлично, но так как я использую сеансы, мне нужно как-то настроить NGINX, чтобы возвращать некэшированный контент (или его часть) посетителям, вошедшим в систему.

Я не могу понять этотак как я могу узнать, вошел ли пользователь, проверив его сеанс.

if (!isset($_SESSION['subscr_loggedin']) || 
$_SESSION['subscr_loggedin'] !== true) {
...
}

Полагаю, мне нужно использовать SSI.Однако этот метод позволяет исключить кеш из некоторого шаблона PHP, в то время как мне нужно исключить некоторые функции.

Например, мой посетитель может отслеживать и собирать телешоу.Когда он нажимает кнопку «дорожка», шоу добавляется в его коллекцию.И он должен видеть, что шоу отслеживается, когда он возвращается на ту же страницу!Но, если страница уже кэширована, посетитель видит, что что-то пошло не так, поскольку контент не обновляется.

Итак, у меня есть только два варианта:

  1. Запретить NGINX кэшировать содержимое для всех посетителей, которые вошли в систему;
  2. Не кэшируйте некоторые блоки на моей странице.Но данных об использовании SSI.

очень мало. Оба варианта приемлемы для меня.Кто-нибудь может мне помочь с такой проблемой?

...