ฉันประสบความสำเร็จในเบื้องต้นด้วยการตั้งค่า HAProxy เซิร์ฟเวอร์แอพจำนวนมากที่ฟังพอร์ตอื่น ๆ
ตอนนี้ฉันมีเว็บเซิร์ฟเวอร์อื่นกำลังฟังบนพอร์ตหนึ่งและฉันต้องการเปลี่ยนแปลงสิ่งใดที่ทำให้การกำหนดค่าของฉันเพื่อรับส่งข้อมูลด้วยชื่อโฮสต์เช่นกัน
ต่อไปนี้เป็นการตั้งค่าปัจจุบันสมมติว่า:
- เว็บเซิร์ฟเวอร์ apache ของฉันทำงานที่ examplecom: 8001
- เซิร์ฟเวอร์แอปของฉันเป็นกลุ่ม 0.0.0.0:8081, 0.0.0.0:8082, 0.0.0.0:8083
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 debug #quiet #user haproxy #group haproxy defaults log global mode http option httplog option dontlognull retries 3 redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen appservers 0.0.0.0:80 mode http balance roundrobin option httpclose option forwardfor #option httpchk HEAD /check.txt HTTP/1.0 server inst1 0.0.0.0:8081 cookie server01 check inter 2000 fall 3 server inst2 0.0.0.0:8082 cookie server02 check inter 2000 fall 3 server inst3 0.0.0.0:8083 cookie server01 check inter 2000 fall 3 server inst4 0.0.0.0:8084 cookie server02 check inter 2000 fall 3 capture cookie vgnvisitor= len 32
(ความคิดเห็นอื่น ๆ เกี่ยวกับ ^ เซ็ตยินดีต้อนรับ)
ตอนนี้ฉันต้องการดำเนินการต่อไปข้างต้น แต่ในกรณี - ถ้าชื่อโฮสต์คือ myspecialtopleveldomain <dot> com แล้วต้องการไหลปริมาณข้อมูลไปยังตัวอย่าง <dot> com: 8001
~ B
2
เป็นไปได้ที่จะส่งคำขอไปยังเซิร์ฟเวอร์ที่แตกต่างกันตามชื่อโฮสต์โดยใช้การกำหนดค่าส่วนหน้าและส่วนหลัง คำถามของคุณค่อนข้างสับสน แต่คุณพูดถึง example.com:8001 แต่มันไม่ได้อยู่ในการกำหนดค่าทุกที่ นั่นคือปลายทางสำหรับการร้องขอไปยัง myspecialtopleveldomain.com บนพอร์ต 80 หรือไม่ บางทีคุณอาจให้ URL ตัวอย่างสองสามตัวอย่างที่ผู้ใช้ป้อนและที่คุณต้องการให้ URL เหล่านั้นส่งโดย haproxy
—
ThatGraemeGuy