Wir haben zwei Anwendungen hinter unserem Router, die auf Port 80/443 lauschen. Der Router hat nur eine gültige IP-Adresse. Die erste Anwendung ist ein Mailserver und die zweite ist unser Quellcodeverwaltungsserver.
In diesem Fall besteht eine Lösung darin, jede Anwendung so einzustellen, dass sie auf einem anderen Port lauscht. Dies ist für uns nicht wünschenswert.
Wir haben also einen Windows/IIS-Server, der den gesamten Internetverkehr empfängt und als eine Art Proxy fungiert.
Zu diesem Zweck haben wir zwei Websites erstellt.
Wir haben die erste Site wie folgt erstellt:
- Gebunden an
mail.mydomain.com:80
undautodiscover.mydomain.com:443
. - HTTP-UmleitungZu
http://192.168.50.12
- Weiterleitung
http
zuhttps
Und die zweite Seite wie folgt:
- Gebunden an
scm.mydomain.com:80
- HTTP-UmleitungZu
http://192.168.50.85
Beide Sites senden während der Umleitung den Statuscode HTTP-301.
Die erste funktioniert sowohl vom internen als auch vom externen Netzwerk aus gut.
Die zweite funktioniert vom internen Netzwerk aus, aber nicht vom externen. Der Grund dafür ist, dass http://mail.mydomain.com
sich die URL in der Adressleiste des Browsers beim Durchsuchen der ersten Site nicht ändert, beim Durchsuchen der zweiten Site ändert sich die URL jedoch von http://scm.mydomain.com
zu http://192.168.50.85
und funktioniert offensichtlich von außerhalb nicht.
Alle Hosts (Mail, Autodiscover, SCM) sind in unserem externen DNS als A-Einträge definiert, die auf die einzige gültige IP-Adresse verweisen, die wir haben.
Warum ist das passiert, wenn man bedenkt, dass beide Sites genau gleich konfiguriert sind?