Christoph Schnauß: Apache: virtueller Host lokal und im Internet

Beitrag lesen

hi,

Ich hab's auf Port 80 zurückgesetzt; jetzt funktioniert's wieder lokal, jedoch nicht online.

juchhu! Dann ist eigentlich alles in Ordnung *grins*

Zur Erklärung: Dein lokaler Apache rennt durch die aktuelle Weltgeschichte. Dein Browser will gerne "www.neinedomain.tld" haben und fragt als ersten deinen lokalen Apache. Der schaut zuerst in deine lokale hosts-Datei und sagt brav: "bitteschön, habe ich" und schickt deinem Browser die lokal gespeicherten Seiten. Weitere Abfragen im Internet hält er nicht für nötig.
Genau diese  -  übrigens wirklich völlig korrekte  -  Verhaltensweise zeigt Apache erst ab Version 2.0.45 (unter Windows). Dein Browser ist mit dem Ergebnis auch zufrieden, er hat ja auf seine Server-Anfrage hin eine befriedigende Antwort erhalten und sieht keinen Grund, etwa noch andere Server im Internet zu fragen, ob sie ihm vielleicht unter dieser Adresse was schicken könnten.

Der Grund: "www.meinedomain.tld" gibt es in identischer Form und Schreibweise sowohl im Internet bei deinem Provider wie auch lokal als virtuellen host und in deiner hosts-Datei lokal (mit einer "privaten" IP). Dein Browser fragt nun _zuerst_ den lokalen Apache, und der fragt _zuerst_ deine hosts-Datei, danach halten Browser und Server die Angelegenheit für erledigt, weil es ja ein anzeigbares Ergebnis gegeben hat.

Abhilfe: der Eintrag "servername.tld" in deiner hosts-Datei darf nicht identisch sein mit einer im Internet vorhandenen Adresse "servername.tld".

Oder habe ich dein Problem komplett mißverstanden? Hast du das Problem denn auch noch, wenn du deinen lokalen Apache mal komplett ausschaltest?

Grüße aus Berlin

Christoph S.