render_esi & amp; контроллер = & gt; Потерянная сессия

Я задаю вам вопрос, потому что я просмотрел всю сеть, но не нашел ответа на мою ошибку.

Когда я использую функцию «render_esi» из ветки с функцией «controller», отображается целевая страница (защищенная access_control), но когда достигается ограничение времени кэширования (через 10 секунд в моем случае), и я обновляю страницу, я перенаправлен на страницу входа в систему, потому что я потерял сеанс (идентификатор сеанса изменен).

{{ render_esi(controller('MyBackBundle:Parts:leftSideBar')) }} => Redirected when cache expire
{{ render_esi(url('my_back_parts_sidebar')) }} => Working Good all the time, no session expiration

Я точно указал, что использовал встроенный обратный прокси-сервер Symfony2, а не Varnish.

Я не хочу создавать конкретный маршрут для каждой подзапрошенной части моего приложения.

Я хочу использовать систему «_fragment» в Symfony для удобства и в основном для безопасности.

Я нашел решение по совпадению на рубеже очередной ошибки.

По умолчанию Symfony не дает уверенности прокси-серверам (в основном с активированной кэш-памятью Symfony).

Вы должны добавить 127.0.0.1 (обратный прокси-сервер Symfony) в список доверенных прокси-серверов, и ESI не выйдет из системы и снова не перенаправит вас на дом.

Объясняет из документации Symfony French: http://symfony.com/fr/doc/current/components/http_foundation/trusting_proxies.html

«Lorsque vous utilisez le обратный прокси-сервер интерната Symfony (AppCache.php), заверение в 127.0.0.1 в доверенности доверенных лиц».

надеюсь, это поможет кому-то.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]