ฉันมีอินสแตนซ์ AWS EC2 ที่ทำงานอยู่บนเครื่อง Ubuntu ที่ใช้งานเซิร์ฟเวอร์ Nodejs ทุกอย่างทำงานได้ดีจากนั้นเปิดเว็บไซต์ผ่าน IP สาธารณะบนพอร์ต 3000 เช่นนี้:
http://XX.XXX.XXX.XXX:3000
ตอนนี้ฉันต้องการเปลี่ยนเส้นทางคำขอทั้งหมดจากพอร์ต 80 ไปยังพอร์ต 3000 นี้ผ่าน iptables ตามที่อธิบายไว้ในวิดีโอนี้: https://www.youtube.com/watch?v=WxhFq64FQzA ทาง
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
.
ขออภัย ฉันได้รับข้อผิดพลาดนี้: http://prntscr.com/lja6hx เมื่อเปิดไซต์เช่นนี้: http://XX.XXX.XXX.XXX
(ไม่ระบุพอร์ต 3000)
ป.ล. : ฉันไม่แน่ใจจริงๆว่าแนวทางของฉันถูกต้องหรือไม่ ฉันเปิดรับวิธีอื่นในการเปลี่ยนเส้นทางจากพอร์ต 80 (http) ไปยังพอร์ต 3000
ตามที่ @Vorsprung แนะนำฉันควรใช้ Application Load Balancer ฉันทำสิ่งนี้แล้ว แต่ก็ยังใช้งานไม่ได้ นี่คือการตั้งค่าของฉัน:
ตัวฟังโหลดบาลานเซอร์แอปพลิเคชันของฉัน
กลุ่มเป้าหมายที่ฉันกำลังส่งต่อใน ALB ของฉัน
โซนที่โฮสต์ของฉัน (ฉันได้เพิ่มนามแฝงสำหรับ ALB ที่นี่)
โปรดแจ้งให้เราทราบหากมีบางอย่างหายไป