ฉันส่งคำขอเดียวกัน (POST /user/oauth) ไปยัง haproxy แต่บางครั้งฉันได้รับ 503 การส่งคำขอโดยตรงไปยังแบ็กเอนด์จะใช้งานได้เสมอ
นี่คือบันทึก:
- local_server~ แอป/s2 0/0/0/100/100 200 813 - - --VN 1/1/0/0/0 0/0
"โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ app/s1 0/0/1/107/108 200 820 - - --NI 1/1/0/0/0 0/0
"โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0
0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0
0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ แอป/s2 0/0/1/106/107 200 831 - - --NI 2/2/0/0/0 0/0
"โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ แอป/s1 0/0/1/3/6206 101 337 - - --NI 3/3/1/1/0 0/0
"รับ / HTTP/1.1"
- local_server~ แอป/s1 0/0/1/83/84 200 258 - - --VN 2/2/0/0/0 0/0
"POST /transaction/concludeTransaction HTTP/1.1"
- local_server~ แอป/NOSRV 0/-1/-1/-1/0 503 216 - - SCNN 1/1/0/0/0
0/0 "โพสต์ /ผู้ใช้/oauth HTTP/1.1"
- local_server~ แอป/s2 0/0/1/107/108 200 831 - - --NI 1/1/0/0/0 0/0
"โพสต์ /ผู้ใช้/oauth HTTP/1.1"
อย่างที่คุณเห็น POST /user/oauth บางครั้งไปที่ s1 บางครั้งไปที่ s2 และบางครั้งก็ไปที่ NOSRV
บางครั้งก็ผ่าน 10 ครั้งติดต่อกันและบางครั้งก็ล้มเหลว 10 ครั้งติดต่อกัน
นี่คือการกำหนดค่าของฉัน:
ค่าเริ่มต้น
เข้าสู่ระบบทั่วโลก
โหมด http
ตัวเลือก httplog
ตัวเลือก dontlognull
หมดเวลาเชื่อมต่อ 10,000
ลูกค้าหมดเวลา 50,000
หมดเวลาเซิร์ฟเวอร์ 50,000
ลองใหม่ 3
ไฟล์ข้อผิดพลาด 400 /etc/haproxy/errors/400.http
ไฟล์ข้อผิดพลาด 403 /etc/haproxy/errors/403.http
ไฟล์ข้อผิดพลาด 408 /etc/haproxy/errors/408.http
ไฟล์ข้อผิดพลาด 500 /etc/haproxy/errors/500.http
ไฟล์ข้อผิดพลาด 502 /etc/haproxy/errors/502.http
ไฟล์ข้อผิดพลาด 503 /etc/haproxy/errors/503.http
ไฟล์ข้อผิดพลาด 504 /etc/haproxy/errors/504.http
ส่วนหน้า local_server
ผูก *:8080 ssl crt /etc/letsencrypt/live/xxx/sslcert.pem
โหมด http
แอป default_backend
แอปแบ็กเอนด์
วงเวียนสมดุล
คุกกี้ SERVERID แทรก nocache ทางอ้อม
http-ส่งชื่อส่วนหัวโฮสต์
เซิร์ฟเวอร์ s1 172.26.13.134:3000 ตรวจสอบคุกกี้ s1
เซิร์ฟเวอร์ s2 172.26.13.134:3000 ตรวจสอบคุกกี้ s2
http-request add-header X-Server %b
แก้ไข:
ฉันเปลี่ยนเส้นทางคำขอไปยังเซิร์ฟเวอร์ python ด่วนที่ทำงานบนโลคัลโฮสต์และปัญหายังคงมีอยู่
ดังนั้นฉันจึงแก้ไขไฟล์ config haproxy ให้มีเพียงเซิร์ฟเวอร์ s1 127.0.0.1:8086 ตรวจสอบคุกกี้ s1
และเรียกใช้สคริปต์ไพ ธ อน: python3 -m http.server 8086 --bind 127.0.0.1&
เมื่อฉันตีจากบุรุษไปรษณีย์ฉันได้รับความสำเร็จ 3 ครั้งติดต่อกันมากกว่า 503