ฉันมีแอปพลิเคชั่นที่ทำงานบนอินสแตนซ์ AWS สองแบบที่แตกต่างกันและฉันต้องการเปิดใช้งานเซสชัน "เหนียว" หรือ "ถาวร" โดยใช้ IP เพื่อให้ฉันสามารถใช้ประโยชน์จากเทคโนโลยีซ็อกเก็ตเว็บได้ด้วยวิธีการเฉพาะ
ฉันมีการตั้งค่าที่แตกต่างกันสองแบบที่เกี่ยวข้องกับการใช้ip_hash
เพื่อเปิดใช้งานเซสชันที่ติดหนึบเหล่านี้
ในการตั้งค่าครั้งแรกกระบวนการแอปกำลังทำงานบนอินสแตนซ์เดียวกันกับการกำหนดค่า Nginx สิ่งนี้ใช้งานได้เซสชันจะคงอยู่ตามที่คาดไว้
upstream my_app {
ip_hash;
# local servers
server 127.0.0.1:3001 weight=100 max_fails=5 fail_timeout=300;
server 127.0.0.1:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
ในการตั้งค่าที่สองฉันกำลังชี้ไปที่อินสแตนซ์ภายนอกและพยายามทำให้ได้ผลที่เหมือนกัน ชุดนี้ขึ้นไม่ได้ทำงาน กล่าวอีกนัยหนึ่งเซสชั่นยังคงโหลดสมดุล
upstream my_app {
ip_hash;
# external servers
server 111.11.11.11:3001 weight=100 max_fails=5 fail_timeout=300;
server 222.22.22.22:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
ฉันใช้ip_hash
อย่างถูกต้องหรือไม่ ฉันจะเปิดใช้งานเซสชันที่ยึดตาม "ip" สำหรับเซิร์ฟเวอร์ภายนอกได้อย่างไร