เรามีสองแอปพลิเคชันที่อยู่เบื้องหลังเราเตอร์ของเราที่ฟังพอร์ต 80/443 เราเตอร์มีที่อยู่ IP ที่ถูกต้องเพียงที่อยู่เดียว แอปพลิเคชันแรกคือเซิร์ฟเวอร์อีเมล และแอปพลิเคชันที่สองคือเซิร์ฟเวอร์ควบคุมแหล่งที่มาของเรา
ในกรณีนี้ ทางออกหนึ่งคือตั้งค่าให้แต่ละแอปพลิเคชันฟังบนพอร์ตอื่น สิ่งนี้ไม่พึงปรารถนาสำหรับเรา
ดังนั้นเราจึงมีเซิร์ฟเวอร์ Windows/IIS หนึ่งเครื่องที่รับทราฟฟิกอินเทอร์เน็ตทั้งหมดเพื่อทำหน้าที่เป็นพร็อกซีบางประเภท
ในการทำเช่นนั้น เราได้สร้างสองไซต์
เราสร้างไซต์แรกดังนี้:
- ผูกติดกับ
mail.mydomain.com:80
และ autodiscover.mydomain.com:443
.
- การเปลี่ยนเส้นทาง HTTP ถึง
http://192.168.50.12
- เปลี่ยนเส้นทาง
http
ถึง https
และไซต์ที่สองดังต่อไปนี้:
- ผูกติดกับ
scm.mydomain.com:80
- การเปลี่ยนเส้นทาง HTTP ถึง
http://192.168.50.85
ทั้งสองไซต์ส่งรหัสสถานะ HTTP-301 ขณะเปลี่ยนเส้นทาง
อันแรกทำงานได้ดีจากทั้งเครือข่ายภายในและภายนอก
อันที่สองใช้งานได้จากเครือข่ายภายใน แต่ไม่ใช่ภายนอก เหตุผลก็คือเมื่อเราเรียกดูเว็บไซต์แรก http://mail.mydomain.com
, URL ในแถบที่อยู่ของเบราว์เซอร์ไม่เปลี่ยนแปลง แต่เมื่อเรียกดูไซต์ที่สอง URL จะเปลี่ยนจาก http://scm.mydomain.com
ถึง http://192.168.50.85
และเห็นได้ชัดว่าใช้งานไม่ได้จากภายนอก
โฮสต์ทั้งหมด (mail, autodiscover, scm) ถูกกำหนดใน DNS ภายนอกของเราเป็นบันทึก A ที่ชี้ไปยังที่อยู่ IP เดียวที่ถูกต้องที่เรามี
เมื่อพิจารณาว่าทั้งสองไซต์ได้รับการกำหนดค่าในลักษณะเดียวกัน ทำไมถึงเป็นเช่นนั้น