我的upstream是這樣的設定
upstream a {
server a.a.a.a max_fails=3 fail_timeout=5s;
server b.b.b.b max_fails=3 fail_timeout=5s;
ip_hash;
keepalive 18;
}
當我訪問該網站(網頁上有個隨機驗證圖片) 發現這個現象
我用tcpdump觀察發現 :
nginx 請求login.php 從 a.a.a.a
nginx => a.a.a.a 發送 GET /login.php
但發送隨機驗證圖片會是:
nginx => b.b.b.b GET images/checkSpamkh0jud2rnun28bm99dv6f1rhn101432174211.png
可以確定upstream server都可以正常訪問 因此導致圖片無法顯示 404 not found.
這現象不是每次都會發生.....
我記得ip_hash的結果src ip會固定到同一台upstream 前提是upstream server都是可以訪問的.
請教各位前輩
best regards,
Eric