Nginx反向代理负载均衡时,验证码不正确
生活随笔
收集整理的這篇文章主要介紹了
Nginx反向代理负载均衡时,验证码不正确
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、開門見山說,這是session失效的問題
nginx負載均衡導致session錯誤
在最近做的項目遇到一個坑,需求如下,到我的訂單的時候判斷了用戶是否登錄,如果沒有登錄就跳轉到登錄頁面,登錄之后在跳轉到訂單列表,如果登錄就打開訂單列表。很多需要登錄的頁面都加了這個規則,為了方便我把登錄之前的頁面保存到session,這樣登錄之后就可以根據session保存的url跳轉到登錄之前的頁面
問題
正式環境里,登錄之后沒有跳轉到之前的頁面,在測試服務器上測試了一下這個BUG,不存在這個問題
問題原因
我們的服務器做了負載均衡,問題出現之后,就問了運維,負載均衡的規則是什么,默認情況下nginx默認規則為輪詢,運維的回復是ip_hash,花了一個多小時,檢查我的代碼,最后實在是沒有辦法,就在線上測試了一下,結果發現session,刷新一下有,在刷新一下就沒有,于是讓運維檢查負載均衡的規則,發現沒有指定ip_hash,用了輪詢的方式
解決方式
方法一
添加負載均衡為ip_hash
upstream resinserver{
ip_hash;
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
二、seseion一致性
參考文章
參考文章
總結
以上是生活随笔為你收集整理的Nginx反向代理负载均衡时,验证码不正确的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5年之后,产品经理,没了?
- 下一篇: 5000字长文 | SaaS盈利的逻辑