Score:0

HAproxy ไม่พบแบ็กเอนด์เมื่อใช้พอร์ตอื่น

ธง in

ฉันมีสองแบ็กเอนด์ที่เป็นเซิร์ฟเวอร์เดียวกันที่เรียกใช้อิมเมจ 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

ไม่ได้สร้างความแตกต่าง

ฉันพลาดอะไรไปที่นี่?

in flag
ฉันควรดูที่ acls ดีกว่า ฉันไม่มีประสบการณ์เกี่ยวกับ acls ใน nginx ดังนั้นฉันจึงไม่สามารถช่วยคุณได้ แต่ถ้าคุณสามารถเข้าถึงแบ็กเอนด์ผ่าน curl ก็ไม่ใช่ปัญหาของ iptables หากเซิร์ฟเวอร์ของคุณใช้ selinux นั่นอาจเป็นปัญหาได้เช่นกัน
in flag
เปิด 8000 ใน selinux แล้วด้วย
in flag
โปรดลอง `setsebool -P haproxy_connect_any 1`
Score:0
ธง in

โดยสรุป ปัญหาคือคุณไม่สามารถสุ่มเลือกพอร์ตที่จะใช้กับแบ็กเอนด์ของคุณได้ ที่นี่ 8000 ถูกเพิ่มไปยัง soundd_port_t ซึ่งเป็นกลุ่มที่ไม่ได้อยู่ใน haproxy ดังนั้น "sudo semanage port --add --type http_port_t --proto tcp 8000" จึงไม่สามารถบรรลุสิ่งที่ตั้งใจไว้ที่นี่ จริง ๆ แล้วมันล้มเหลวที่จะทำสิ่งที่คุณคิดว่ามันน่าจะทำได้เมื่อมันบอกว่าพอร์ตนี้ถูกเพิ่มแล้ว (มันถูกเพิ่มไปยังสิ่งอื่นแล้ว) วิธีง่ายๆ คือการเลือกพอร์ตที่ HAProxy สามารถเข้าถึงได้ ผู้ชายคนนี้อธิบายได้ดีที่สุด:

https://unix.stackexchange.com/questions/363878/ which-selinux-policies-apply-to-haproxy

in flag
แดกดันคำตอบนี้อ้างอิงกลับไปที่ [คำตอบ SF](https://serverfault.com/questions/654599/weird-interaction-with-systemctl-with-haproxy-on-centos-7/654684#654684) ดังนั้นเราจึง อาจปิดคำถามนี้เป็นคำถามที่ซ้ำกันได้มากที่สุด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา