Nginx proxy_cache
Maxim Dounin
mdounin на mdounin.ru
Ср Ноя 18 17:47:14 UTC 2015
Hello!
On Wed, Nov 18, 2015 at 12:21:58PM -0500, vhvvx777 wrote:
[...]
> location ~ (admin.php|index.php?action=logout) {
Just a side note: часть про "index.php?action=logout" смысла не
имеет, т.к. a) в location проверяется только путь, но не
аргументы, и б) символ "?" в регулярных выражениях имеет
специальное значение.
[...]
> Объясните мне в чем беда, все работает, но при авторищаци через соц сети
> (DLE 10.4), выбивает
> Обнаружена проблема с работой PHP сессий на вашем сервере. Вам нужно
> обратиться в службу поддержки вашего хостинга, для проверки
> работоспособности PHP сессий.
>
> Что я уже не менял, все равно не помогает, только если убрать proxy_cache
Беда в том, что вы в конфиге явно попросили nginx не верить тому,
что бекенд сообщает про возможность кеширования тех или иных
ответов, и вместо этого руководствоваться правилами, написанными в
конфиге. И, видимо, при авторизации через социальные сети
случаются какие-то запросы, которые у вас кешируются, но не
должны. Смотрите внимательно, что именно запрашивается в вашем
DLE, и где нужно доотключить кеширование.
Другое очевидное решение - выкинуть из конфига всё эту сложную
логику с переопределением правил кеширования, и положиться на то,
что возвращает бекенд. Но это, если бекенд написан без оглядки на
возможность кеширования, приведёт к тому, что кешироваться ответы
бекенда не будут или почти не будут.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru