ฉันมีสองแบ็กเอนด์ที่เป็นเซิร์ฟเวอร์เดียวกันที่เรียกใช้อิมเมจ Docker เดียวกันสองภาพ แต่แต่ละพอร์ตมีพอร์ตต่างกัน นั่นคือบนเซิร์ฟเวอร์แบ็กเอนด์ ข้อแตกต่างเพียงอย่างเดียวระหว่างสองสิ่งนี้คือการแมปพอร์ต ตัวจัดสรรภาระงานของฉัน (HAProxy) เป็นเครื่องจริงแยกต่างหากที่ 10.0.0.2
http-in ส่วนหน้า
ผูก *:80
ผูก *:443 ssl crt /etc/ssl/mydomain.com/both.pem
http-คำขอเปลี่ยนเส้นทาง https ยกเว้น { ssl_fc }
acl แปดสิบ_http hdr (โฮสต์) -m ขอ -i แปดสิบ
acl แปดสิบร้อย_http hdr (โฮสต์) -m beg -i แปดสิบร้อย
use_backend แปดสิบถ้าแปดสิบ_http
use_backend แปดสิบร้อยถ้าแปดสิบร้อย_http
แบ็กเอนด์แปดสิบ
เซิฟเวอร์ 20 10.0.0.20:80 ตรวจสอบ maxconn 300
แบ็กเอนด์แปดสิบร้อย
เซิร์ฟเวอร์ยี่สิบ 10.0.0.20:8000 ตรวจสอบ maxconn 300
เมื่อฉัน sudo systemctl รีสตาร์ท haproxy มันบอกฉันว่า "แบ็กเอนด์แปดสิบร้อยไม่มีเซิร์ฟเวอร์ให้ใช้งาน!" อย่างไรก็ตาม ฉันสามารถขดพอร์ตทั้งสองได้สำเร็จจากโหลดบาลานเซอร์
ฉันใส่สิ่งต่อไปนี้ใน iptables:
sudo iptables -A OUTPUT -p tcp -d 10.0.0.0/16 --sport 8000 -j ยอมรับ
...และสำหรับ selinux:
sudo semanage port --add --type http_port_t --proto tcp 8000
ไม่ได้สร้างความแตกต่าง
ฉันพลาดอะไรไปที่นี่?