在使用负载均衡器和redis时,我遇到了一个会话数据无法持久化的问题,所有这些都是通过laravelforge配置的。
设置如下:
2台应用服务器
1台负载平衡器
1 x redis缓存和会话服务器
1台mysql服务器
目前,我已将负载平衡器设置为执行“循环”。但是,在每次页面刷新时,当切换到另一台服务器时,会话不会持久化,因此它会破坏我的应用程序。我需要会话通过服务器交换持久化。
我使用的是一个远程redis服务器,据我所知,我在两个应用服务器上都正确设置了所有的.env变量。
如果我跑了 Redis-cli keys *
在redis服务器上,我可以看到缓存文件在那里,并且每次页面刷新都会生成一个新的缓存文件(对吗?)。
我曾尝试将负载均衡器ip添加到TrustedProxy的代理部分,但没有效果。
这是我的环境设置,在两个应用程序服务器上重复:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
SESSION_CONNECTION=session
SESSION_DOMAIN=".example.com"
REDIS_CLIENT=predis
REDIS_HOST=111.111.111.111
REDIS_PASSWORD=""
REDIS_PORT=6379
这就是我所看到的跑步的结果 Redis-cli monitor
以及刷新页面:
1599056082.682611 [0 server_1_ip:50908] "SELECT" "2"
1599056082.683462 [2 server_1_ip:50908] "GET" "app_database_app_cache:quAGJdsQU7WTIaT2eTxuINd4WSiZuAzoWDOpBLJM"
1599056082.715191 [2 server_1_ip:50908] "SETEX" "app_database_app_cache:quAGJdsQU7WTIaT2eTxuINd4WSiZuAzoWDOpBLJM" "7200" "s:262:\"a:4:{s:6:\"_token\";s:40:\"YeRd8AXCIEEZmQCz0pgqZDbAV5vbxntmS82UKlOj\";s:4:\"scid\";s:8:\"8EBDE181\";s:9:\"_previous\";a:1:{s:3:\"url\";s:78:\"https://example.com/flights/IOM/MAN?adults=1&children=0&from=2021-05-28&infants=0\";}s:6:\"_flash\";a:2:{s:3:\"old\";a:0:{}s:3:\"new\";a:0:{}}}\";"
1599056087.170996 [0 server_1_ip:50912] "SELECT" "1"
1599056087.171601 [1 server_1_ip:50912] "GET" "app_database_app_cache:illuminate:queue:restart"
1599056090.383494 [0 server_2_ip:42704] "SELECT" "1"
1599056090.384076 [1 server_2_ip:42704] "GET" "app_database_app_cache:illuminate:queue:restart"
1599056132.064383 [2 server_2_ip:42724] "GET" "app_database_app_cache:9bn5os6I5F2ZgrAlqfKCdwjazIsJDg58miOrfh95"
1599056132.103368 [2 server_2_ip:42724] "SETEX" "app_database_app_cache:9bn5os6I5F2ZgrAlqfKCdwjazIsJDg58miOrfh95" "7200" "s:262:\"a:4:{s:6:\"_token\";s:40:\"rzUlr5McKbxNcyOeWu23lryc6AJ3I4YWXARF4lXo\";s:4:\"scid\";s:8:\"DC36F293\";s:9:\"_previous\";a:1:{s:3:\"url\";s:78:\"https://example.com/flights/IOM/MAN?adults=1&children=0&from=2021-05-28&infants=0\";}s:6:\"_flash\";a:2:{s:3:\"old\";a:0:{}s:3:\"new\";a:0:{}}}\";"
还有什么我能看的吗?
暂无答案!
目前还没有任何答案,快来回答吧!