ฉันมีคอนเทนเนอร์ haproxy ชื่อ 'proxy_container' ทำงานบนพอร์ต 80 บน localhost ของฉัน ด้วยคอนเทนเนอร์อีกสองตัวที่เรียกว่า 'client_container' ซึ่งเป็นเพียงไฟล์ html และ 'server_container' ซึ่งเป็น api พื้นฐานของ nodejs ที่ฉันเขียน ทั้งหมดเชื่อมต่อกับเครือข่ายนักเทียบท่าเดียวที่เรียกว่า 'appnet'
นักเทียบท่า ps:
รหัสคอนเทนเนอร์ IMAGE คำสั่งสร้างสถานะชื่อพอร์ต
f6fa17dbd444 ebdc86ff4850 "docker-entrypoint.sâ¦" ประมาณ 1 นาทีที่แล้ว Up ประมาณ 1 นาที 80/tcp server_container
32ebf717e9de 8657ad512e31 "/docker-entrypoint.â¦" ประมาณ 1 นาทีที่แล้ว Up ประมาณ 1 นาที 80/tcp client_container
bc3f94b668cd bd8334ffaaad "docker-entrypoint.sâ¦" ประมาณ 1 นาทีที่แล้ว Up ประมาณ 1 นาที 0.0.0.0:80->80/tcp proxy_container
นี่คือไฟล์ haproxy.cfg ของฉัน:
ทั่วโลก
ภูต
แม็กซ์คอน2000
ซ็อกเก็ตสถิติ /var/run/haproxy.sock โหมด 777
นักเทียบท่าตัวแก้ไข
เนมเซิร์ฟเวอร์ DNS "${DNS_TCP_ADDR}:${DNS_TCP_PORT}" #127.0.0.11:53
ค่าเริ่มต้น
โหมด http
ตัวเลือก dontlognull
ตัวเลือกไปข้างหน้าสำหรับ
ตัวเลือก httpclose
ตัวเลือก httplog
ลองใหม่ 3
ตรวจสอบการหมดเวลา 5 วินาที
ไคลเอนต์หมดเวลา 5 วินาที
หมดเวลาเชื่อมต่อ 10 วินาที
เซิร์ฟเวอร์หมดเวลา 10 วินาที
ส่วนหน้าหลัก
ผูก *:80
โหมด http
ตัวเลือก http-ปิดเซิร์ฟเวอร์
ตัวเลือกบังคับปิด
ไคลเอนต์หมดเวลา 60 วินาที
หมดเวลาเชื่อมต่อ 10 วินาที
หมดเวลาเซิร์ฟเวอร์ 1 ม
acl url_ui path_beg /บ้าน
acl url_api path_beg /api
use_backend ui ถ้า url_ui
use_backend api ถ้า url_api
#deafult_backend ui
API แบ็กเอนด์
#โหมดhttp
# เซิร์ฟเวอร์ api server_container
เซิร์ฟเวอร์ api server_container.appnet:80 ตรวจสอบตัวแก้ไขตัวเทียบท่าตัวแก้ไขที่ต้องการ ipv4
แบ็กเอนด์ UI
#โหมดhttp
# ไคลเอ็นต์เซิร์ฟเวอร์ client_container
ไคลเอนต์เซิร์ฟเวอร์ client_container.appnet:80 ตรวจสอบตัวแก้ไข นักเทียบท่า ipv4 ที่เลือกใช้
เดอะ default_backend UI บรรทัดที่ฉันแสดงความคิดเห็นทำงานได้ดีเมื่อพิมพ์ 0.0.0.0/ ในเบราว์เซอร์ของฉัน ฉันต้องการเปลี่ยนการกำหนดค่าเพื่อให้ 0.0.0.0/home นำฉันไปที่แบ็กเอนด์ 'ui' และ 0.0.0.0/api สั่งให้ฉันไปที่แบ็กเอนด์ 'api'
คำถามเสริม: สำหรับเส้นทาง api เส้นทาง nodejs api ของฉันจะทำงานควบคู่ไปกับการกำหนดค่าเหล่านี้ที่ฉันต้องการได้อย่างไร