作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有 2 个 laravel 节点在负载均衡器下的单独服务器中运行,还有一个用于 session 和缓存存储的专用 redis 服务器。
我根据“redis”配置了 session 和缓存驱动程序,它连接得很好。我看到文件存储在 redis 服务器中。
问题是当我尝试登录时,页面只是刷新而没有打印通常存储在 session 中的“无效凭据”错误。
由于负载均衡器不断从一个节点重定向到另一个节点, session 不知何故丢失了。作为一个实例,它工作得很好。有没有人对 laravel 和负载平衡有同样的问题?
如果在不配置平衡器使用粘性 session 的情况下有可能的修复,那就太好了!
提前致谢!
最佳答案
我觉得这个包TrustedProxy解决你的问题。安装它,然后将它添加到 config/trustedproxy.php
:
return [
'proxies' => [
'192.168.10.10',
],
// These are defaults already set in the config:
'headers' => [
(defined('Illuminate\Http\Request::HEADER_FORWARDED') ? Illuminate\Http\Request::HEADER_FORWARDED : 'forwarded') => 'FORWARDED',
\Illuminate\Http\Request::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
\Illuminate\Http\Request::HEADER_CLIENT_HOST => 'X_FORWARDED_HOST',
\Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
\Illuminate\Http\Request::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
]
];
关于php - Laravel下一个负载均衡器+集中式redis session 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48990485/
我是一名优秀的程序员,十分优秀!