Score:0

การส่งต่อการรับส่งข้อมูลพอร์ต 80 ไปยังเว็บเซิร์ฟเวอร์หลายตัวที่อยู่หลังไฟร์วอลล์

ธง cn
RDK

ฉันต้องการตั้งค่าเว็บเซิร์ฟเวอร์สองตัวหลังไฟร์วอลล์ของฉัน ซึ่งทั้งคู่สามารถเข้าถึงได้จากไคลเอนต์อินเทอร์เน็ตเบราว์เซอร์โดยใช้พอร์ตปกติ 80 และ URL ตัวอย่างเช่น server1 www.abc.com และเซิร์ฟเวอร์2 www.def.com.

ฉันไม่ใช่ผู้เชี่ยวชาญ แต่ฉันคิดว่าฉันเข้าใจวิธีใช้ IPTABLE เพื่อทำการส่งต่อพอร์ต แต่สิ่งที่ฉันไม่รู้ (หรือไม่พบ) คือวิธีการเลือกส่งต่อตาม URL ของเว็บเซิร์ฟเวอร์ที่ร้องขอ

สมมติว่าเซิร์ฟเวอร์ทั้งสองอยู่บนที่อยู่ IP ส่วนตัว 10.0.0.100 และ 10.0.0.110 ตามลำดับ และเราเตอร์ไฟร์วอลล์ของฉันอยู่บนที่อยู่สาธารณะ 1.2.3.4 สิ่งที่ฉันต้องการคือการรับส่งข้อมูลพอร์ต 80 พร้อม URL www.abc.com เพื่อไปที่แอดเดรส 10.0.0.100 เป็นพอร์ต 80 และเช่นเดียวกันสำหรับการรับส่งข้อมูลพอร์ต 80 ด้วย URL www.def.com เพื่อไปที่ 10.0.0.110

ฉันคิดว่าฉันสามารถให้เซิร์ฟเวอร์สองเครื่องฟังบนพอร์ตที่แตกต่างกันได้หากจำเป็น เช่น 9000 และ 9100 แทนที่จะเป็น 80

ใครสามารถเสนอความคิดได้บ้าง? ขอบคุณ

Score:5
ธง us

ไม่สามารถทำได้ด้วย IPTables เนื่องจากเซิร์ฟเวอร์ปลายทางรวมอยู่ในฟิลด์ส่วนหัวคำขอ HTTP

ส่วนแรกของการเชื่อมต่อ TCP คือการจับมือกัน ซึ่งจะตั้งค่าการเชื่อมต่อระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ ณ จุดนี้ไม่มีข้อมูลเกี่ยวกับชื่อโฮสต์ ฟิลด์ส่วนหัวคำขอ HTTP จะกลายเป็นหลังจากการจับมือกัน

เนื่องจาก IPTables เพียงแค่ส่งต่อแพ็กเก็ต IP จึงไม่สามารถส่งต่อแพ็กเก็ต TCP handshake ไปยังปลายทางที่ถูกต้องได้

คุณต้องตั้งค่าพร็อกซีย้อนกลับ เช่น HAProxy, nginx หรือ Apache บนเครื่องไฟร์วอลล์

cn flag
RDK
ขอบคุณ. ฉันพูดถึงเฉพาะ IPTABLES เนื่องจากฉันได้อ่านเกี่ยวกับการใช้มันสำหรับการส่งต่อพอร์ต คุณสามารถให้รายละเอียดเพิ่มเติม/ข้อมูลอ้างอิงเกี่ยวกับการใช้ nginx และตั้งค่า "reverse proxy" เพื่อให้บรรลุเป้าหมายของฉันได้หรือไม่?
cn flag
RDK
ขอบคุณอีกครั้ง. ด้วยคำใบ้ของคุณ ฉันสามารถค้นหาความมั่งคั่งสำหรับการอ้างอิง..

โพสต์คำตอบ

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