Php render_esi&controller=>会话丢失

Php render_esi&controller=>会话丢失,php,symfony,session,twig,esi,Php,Symfony,Session,Twig,Esi,我问你一个问题,因为我浏览了所有的网页,但我没有找到任何答案,我的错误 当我使用twig with controller函数中的render_esi函数时,会显示受access_控件保护的目标页面,但在我刷新页面10秒后达到缓存时间限制时,我会被重定向到登录页面,因为我丢失了会话,会话id会被更改 {{ render_esi(controller('MyBackBundle:Parts:leftSideBar')) }} => Redirected when cache expire {{

我问你一个问题,因为我浏览了所有的网页,但我没有找到任何答案,我的错误

当我使用twig with controller函数中的render_esi函数时,会显示受access_控件保护的目标页面,但在我刷新页面10秒后达到缓存时间限制时,我会被重定向到登录页面,因为我丢失了会话,会话id会被更改

{{ 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集成反向代理,而不是清漆

我不想为我的应用程序的每个子请求部分创建特定的路由

我想使用Symfony的_fragment系统以方便起见,主要是为了安全

解决方案 我在另一个bug出现的时候发现了解决方案

默认情况下,Symfony不会给代理带来信心,主要是在激活Symfony AppCache的情况下

您必须将127.0.0.1 Symfony反向代理添加到受信任的代理列表中,esi不会注销您并再次重定向到主页

从Symfony french的文档中解释:

如果您使用了Symfony AppCache.php反向代理服务器,请确保您的代理服务器为127.0.0.1


希望它能帮助别人。

小精度,我使用Symfony 2.5.6。没人能帮我吗=/