Цель данной заметки:
Решить проблему кеширования на уровне nginx.
Предисловие:
Кешировать можно все страницы на 10-60 минут для не залогиненных пользователей.
Проверять залогиненных пользователя можно по куке (LS — key, а в AltoCMS — user_key).
Используя LS 1.0.3/Alto 0.9.7.1 обнаружил особенности работы движка:
1. Всем (залогиненным и нет) пользователям выдается кука с идентификатором сессии. Она используется при открытии модальных окон, который подтягивают контент с сервера.
Это создает проблему в случае включения кеширования nginx-ом страниц для не залогиненных пользователей.
При попытке открыть контент в модальном окне происходит проверка сервером правильности идентификатора сессии.
Примеры:
http://sla.kiev.ua/video/ (здесь отключено кеширование, поэтому все работает)
http://sla.kiev.ua/tec/item/planer-l-13-blanik.html Закладка «Видео». Тут кеширование включено и видео в модальном окне не открывается.
Подскажите, как вообще избавиться от сессии для пользователя?
2. Залогиненным пользователям выдается выдается кука key. А только что зарегистрировавшимся — нет.
В результате пользователь зарегистрировался, тут же автоматом залогинился и не получил куки. При включенном кешировании это ломает всю работу сайта для этого пользователя.
Этот баг достался Альто от LS.
Можно воспроизвести зарегистрировавшись на моем сайте sla.kiev.ua
Подскажите, как бы его пофиксить или обойти?
сентября
01
2013
+4
Использование кукисов, проблемы кеширования nginx
Похожие статьи
-
Установить Nginx на Centos7
Требуется на VPS сервере установить Nginx и обновить PHP на Centos 7. P.s. сам пробовал по мануалам, с конфигами и директориями не разобрался.
-
Дополнительный запрос к каждому топику
Приветствую, сообщество и разработчики AltoCMS. Поясните, пожалуйста, один момент. У меня при включенном кеше на главной странице при 10 выведенных топиках (без фото, только название и одно доп.поле), судя по...
-
Nginx ограничение нагрузки
Вещь о которой я хочу написать довольно тривиальна, но вдруг кому-то будет полезна. В Nginx есть модуль ngx_http_limit_req_module. Данный модуль позволяет ограничивать количество и частоту запросов к сайту с одного...
-
Makersbay.ru – каталог 3d моделей для 3d принтера
Мне всегда нравилось делать что-то своими руками и мастерить, поэтому я и не смог пройти мимо такой вещи как 3d принтер. Купил себе принтер и заодно сделал и сайт с 3d моделями для онного. Выбрал я Altocms и в...
Поэтому, чтоб решить проблему системно, на уровне движка, нужно провести ревизию запросов и упорядочить использование GET/POST. Но на это пока не хватает времени.
Чтоб решить проблему на конкретном сайте, нужно в тех запросах, где это не нужно, просто отключить проверку ключа сессиии, и все.
2. Если это так, то да, баг, проверим, и, если подтвердится, то пофиксим
2. Мне стоит его на гихаб отписать?