[英]Cakephp 2.x Session expire very soon
由於服務器使用了負載平衡,因此我遇到了同樣的問題。 更改主機時,會話丟失。 您是否已經聯系BigRock?
您可以將會話放入數據庫或redis / memcached中以解決此問題。
由於負載平衡器將請求路由到不同的服務器,並且服務器被配置為將會話數據以本地存儲/緩存機制存儲到單個服務器,所以發生了他的問題。
當服務器接收到具有由其他服務器分配的會話ID的請求時,它將無法識別該會話ID,因為它在其本地會話存儲/緩存中丟失。 因此,它將發送401 - Unauthorized
標頭供客戶端重新認證。
解決方案可以分兩層實現:
這兩種解決方案都有其優點和缺點,主要缺點是缺乏靈活性。 這是微服務架構僅將jwt
令牌用於身份驗證和授權的原因之一。
恕我直言,您決定實施哪一層取決於實施變更的性能和工作量要求。 如我所見,您可以輕松地更改應用程序配置以將會話存儲在數據庫中(盡管更喜歡使用緩存),但是肯定會對性能造成影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.