【发布时间】:2016-07-24 18:19:46
【问题描述】:
我在我的 PHP 应用程序上使用 $_SESSION 变量时遇到了很多麻烦。如果我直接访问运行 PHP 应用程序的 Web 服务器,一切正常。但是在生产中,托管 PHP 应用程序的 Web 服务器实际上位于代理/负载平衡器之后。架构是这样的:
AWS 负载均衡器 -> 由 2 个相同的代理服务器组成 -> 每个代理服务器只是将请求转发到后端服务器 -> 后端服务器实际执行并运行 PHP 应用程序
之所以必须在生产环境中执行此操作,是因为需要在浏览器中包含特定的 URL。
我已经放了
session_start();
和
header('p3p: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"');
在所有相关页面上。
这种请求转发是否会导致 $_SESSION 变量不持久?
我不明白,后端服务器无论如何都在做所有事情,$_SESSION 变量应该是持久化后端服务器,而代理服务器只是转发/接收来自后端服务器的请求而不做任何事情??
【问题讨论】:
标签: php session proxy load-balancing