同一台服务器上的多个负载平衡 Laravel 应用程序导致会话超时问题

Multiple Load-balanced Laravel Applications on same server causing session timeout issues

我最近接管了一个旧的服务器端呈现的 Laravel 5.6 应用程序,并将其升级到 Nginx 服务器上的版本 8 运行 PHP 7.4。

设置包括:

.env

SESSION_DRIVER=database
SESSION_TIMEOUT=true
SESSION_TIMEOUT=86400
SESSION_LIFETIME=120
SESSION_COOKIE_NAME="LOCAL_SESSION" // different for every instance of the app
SESSION_DOMAIN=".med***.com"

由于应用程序比较老,用于显示记录的仪表板每 30 秒刷新一次超时,因此向服务器发出请求,超时为 24 小时。

用户报告该应用程序会随机将他们从系统中注销,即使每个登录用户都发出足够的请求以确保未达到超时限制。

这可能是负载均衡器问题还是我缺少设置?

问题最终变得相当简单。

Laravel 使用应用密钥加密会话 cookie。每个应用程序在其各自服务器上的实例使用不同的应用程序密钥,因此如果服务器 1 加密了 cookie 并且下一个请求转到服务器 2,则 cookie 无效。

这似乎解决了问题。