Details zum HTTP-Protokoll: Welche Headerinformationen brauche ich?

Hallo allerseits

Ich habe zwei Server:
auf Nr. 1 läuft meine Website "mydomain.ch" (ist im Internet angemeldet für die IP des Servers Nr. 1),
auf Server Nr. 2 (Testserver) läuft die gleiche Domain "mydomain.ch" (NICHT im Internet angemeldet für die IP Nr. 2)

wenn man also auf "mydomain.ch" geht, dann kommt man auf Server Nr. 1.

Nun habe ich bei mir testweise (per editieren der Hosts-Datei) die Domain an den Server Nr. 2 weitergeleitet. Soweit so gut.

Fazit:
Ich will nun auf dem Server Nr. 1 ein PHP-Script laufen lassen, das mich zum Server Nr. 2 weiterleitet. Dem Server Nr. 2 soll vorgegaukelt werden, dass der Aufrufer "mydomain.ch" verlangt hat.

ausprobiert hab ich dies:
PHP:
<?PHP
   // dieses Script soll die Domainanfrage vom Server Nr. 1 an Server Nr. 2 weiterleiten
   header('Location: https://IPdesServersNr2');
   header('Host: https://mydomain.ch',FALSE);
?>
das hat nicht funktioniert. Muss ich andere Header-Informationen verwenden?
 
Sodeli. Ich habe unterdessen ziemlich gründlich nachgeforscht. Anscheinend gibt es keine Lösung für mein Problem (da ich auf Server 1 einen blossen Webspace unterhalte)

Wers interessiert: diverse Teilprobleme von meinem Problem lassen sich jedoch lösen:
http://forum.vis.ethz.ch/showthread.php?t=12629

Das sind insbesondere:
- Websites anzeigen über anderen Host (per Webview, Reparser oder per Subdomain)
- Wenn man auf beiden Server root-Zugriff hat, kann man einen Proxy einrichten oder einen Tunnel.
- Die letzte (nichtwirklich-)Lösung ist, dass man zu Testzwecken seine eigene Hosts-Datei um einen Eintrag ergänzt ( "IP" "zu übermittelnde Domain" )

Eine allerletzte Möglichkeit, die ich noch nicht getestet habe und auch nicht testen werde, wäre den ganzen Datenverkehr über eine PHP-Datei auf Server 1 laufen zu lassen. Zumindest alle Requests. Das würde allerdings ziemlich tiefe Eingriffe in das TCP-Protokoll erfordern. Namentlich müsste die Quelle jedes Request-Paketes in die IP des Clients geändert werden. Der restliche Verkehr könnte dann normal zwischen Client und Server 2 verlaufen.

Vielleicht schreibt ja jemand mal eine PHP-Library, die das direkt kann ;-)

PS: das was ich hier beschrieben habe, ist ziemlich grob und wahrscheinlich unvollständig. Bitte um Korrekturen.

grz sadi
 
Zurück