Chúng tôi có hai ứng dụng phía sau bộ định tuyến đang nghe trên cổng 80/443. Bộ định tuyến chỉ có một địa chỉ IP hợp lệ. Ứng dụng đầu tiên là máy chủ thư và ứng dụng thứ hai là máy chủ kiểm soát nguồn của chúng tôi.
Trong trường hợp này, một giải pháp là đặt từng ứng dụng nghe trên một cổng khác. Điều này là không mong muốn đối với chúng tôi.
Vì vậy, chúng tôi có một máy chủ Windows/IIS nhận tất cả lưu lượng truy cập Internet để hoạt động như một loại proxy nào đó.
Để làm điều đó, chúng tôi đã tạo ra hai trang web.
Chúng tôi đã tạo trang web đầu tiên như sau:
- Ràng buộc để
mail.mydomain.com:80
và autodetect.mydomain.com:443
.
- Chuyển hướng HTTP đến
http://192.168.50.12
- chuyển hướng
http
đến https
Và trang web thứ hai như sau:
- Ràng buộc để
scm.mydomain.com:80
- Chuyển hướng HTTP đến
http://192.168.50.85
Cả hai trang đều gửi mã trạng thái HTTP-301 trong khi chuyển hướng.
Cái đầu tiên hoạt động tốt từ cả mạng nội bộ và bên ngoài.
Cái thứ hai hoạt động từ mạng nội bộ chứ không phải bên ngoài. Lý do là khi chúng tôi duyệt trang web đầu tiên http://mail.mydomain.com
, URL trong thanh địa chỉ của trình duyệt không thay đổi, nhưng khi duyệt trang web thứ hai, URL sẽ thay đổi từ http://scm.mydomain.com
đến http://192.168.50.85
và rõ ràng là không hoạt động từ bên ngoài.
Tất cả các máy chủ (thư, tự động phát hiện, scm) được xác định trong DNS bên ngoài của chúng tôi dưới dạng bản ghi A trỏ đến địa chỉ IP hợp lệ duy nhất mà chúng tôi có.
Xem xét rằng cả hai trang web được định cấu hình theo cùng một cách chính xác, tại sao điều đó lại xảy ra?