Я задаю вам вопрос, потому что я просмотрел всю сеть, но не нашел ответа на мою ошибку.
Когда я использую функцию «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 в доверенности доверенных лиц».
надеюсь, это поможет кому-то.
Задача ещё не решена.
Других решений пока нет …