ใช่ คุณสามารถจัดเซิร์ฟเวอร์ของคุณกับเซิร์ฟเวอร์อื่นที่มีความสามารถมากกว่าได้อย่างแน่นอน นี่เป็นวิธีปฏิบัติทั่วไปในสภาพแวดล้อมขององค์กร โดยเฉพาะอย่างยิ่งเมื่อคุณมีการปรับใช้บนแพลตฟอร์มที่ล้าสมัย
คำศัพท์ที่คุณกำลังมองหาเรียกว่า 'reverse-proxying' และไม่ใช่สิ่งที่คุณจะได้มาโดยปราศจากการคืนค่า
คุณจะต้องทราบสิ่งต่อไปนี้:
- ความรู้เกี่ยวกับ HTTP โดยเฉพาะเกี่ยวกับส่วนหัวของคำขอ เช่น Host และ X-Forwarded-For เป็นต้น
- ทำความเข้าใจว่าทราฟฟิกจะเปลี่ยนไปอย่างไร (เซิร์ฟเวอร์ต้นทางจะเริ่มเห็นทราฟฟิกจาก reverse-proxy)
- วิธีกำหนดค่าเซิร์ฟเวอร์/แอปพลิเคชันต้นทางของคุณให้ทำงานอย่างแม่นยำหลัง reverse-proxy ซึ่งจะรวมถึง a) การบันทึกการเข้าถึง; b) การกำหนดลิงก์ให้ถูกต้อง หากแอปพลิเคชันต้องสร้างลิงก์อ้างอิงตัวเองถึงตัวมันเอง c) การตัดสินใจควบคุมการเข้าถึงที่เกี่ยวข้องกับ IP ที่ทำโดยแอปพลิเคชัน
ตามทฤษฎีแล้ว การตั้งค่า reverse-proxy นั้นไม่ใช่เรื่องยาก... แต่มักจะทำได้ไม่ดีเมื่อคุณไม่ได้ดูแลระบบประปาของคุณ และคุณสามารถจบลงด้วยปัญหาในการปฏิบัติงาน เช่น การวนรอบการเปลี่ยนเส้นทาง ตลอดจนปัญหาด้านความปลอดภัย/การตรวจสอบได้ .
คุณน่าจะมีสิ่งนี้บนเซิร์ฟเวอร์เดียวอยู่แล้ว (มิฉะนั้น คุณน่าจะมี reverse-proxy อยู่แล้ว) ดังนั้นควรพิจารณาอย่างจริงจังเพียงแค่เปลี่ยนแพลตฟอร์มแอปพลิเคชันไปยังแพลตฟอร์มที่รองรับ โดยเฉพาะอย่างยิ่งถ้าคุณยังใหม่กับการทำ reverse-proxying
Reverse-proxying มีประโยชน์อื่น ๆ แม้ว่า:
- ความสามารถในการกรองการรับส่งข้อมูลก่อนที่จะไปถึงเซิร์ฟเวอร์ต้นทางของคุณ
- ความสามารถในการมีสินทรัพย์คงที่ที่ให้บริการโดยเว็บเซิร์ฟเวอร์ที่มีความสามารถ ลดโหลดบนเซิร์ฟเวอร์ต้นทางของคุณ
- ความสามารถในการแคชการรับส่งข้อมูล ลดโหลดบนเซิร์ฟเวอร์ต้นทางของคุณ
- ความสามารถในการแทรกตัวกลางอื่นๆ เช่น Web Application Firewall (WAF), Content Delivery Networks (CDN)s, การพิสูจน์ตัวตน (เช่น SSO, MFA) เป็นต้น
ขอให้โชคดีและการทดสอบที่ดี!