php. В той или иной форме выводится сообщение о том что сессия устарела, либо неправильный токен. Схема такая - есть два Nginx (один фронт с кеширование proxy_* и второй с кеширование fcgi_* который смотрит в сторону php-fpm). Данная схема действует для каждого php приложения, а именно их 2 - roundcube и postfixadmin. Оба ругаются и дальше окошка авторизации дело не доходит. В дебаге вижу, что поле Expires имеет значение примерно "Thu, 19 Nov 1981 08:52:00 GMT". Параметры *_ignore_headers везде содержат заголовок Expires как описвается в разных статьях. Подскажите, кто знает, что я делаю не так?
а что и как кешируете? для начала отключите весь кеш, и проверьте работает ли авторизация, если нет - проверьте работу без первого nginx, и дальше уже по ситуации
Я отключил везде кеш, закоментировал параметры *_ignore_headers в которых были вот эти значения "Cache-Control Expires Set-Cookie X-Accel-Buffering". Тестирую PostfixAdmin, и что я вижу при том, что используются все еще 2 nginx друг за другом. В директории с сессиями кук после каждого открытия главной страницы создется по 2 куки, одного типа с разным содержимым. ХЗ почему. Я конечно, попробую убрать один nginx из связки, но чувствую, что это мне не поможет. Пока что, но не пойму до конца почему при отправке браузером запросов, генерятся разные сессии.
я надеюсь есть понимание что при том кешировании что было включено - кешировались полные ответы вместе со всеми куками, и если ключ кеширования составлен криво (хотя это скорее всего и не важно)- то всем будет отваваться ответ со всеми куками того, кто сделал первый запрос
Ключ кеширования! А как он генерируется?
Вот мой ключ - proxy_cache_key "$scheme$request_method$host$request_uri"
Обсуждают сегодня