hi fastx,
ups. Viel text...
naja, wenn die Problemstellung interessant ist ... ;-)
wo nimmst du plötzlich den Unterschied von "virtuellem host" unjd "virtuellem Server" her?
Ich meine hier das selbe. "host" und "server" sind, wenn die beiden virtuell sind, gar nicht so verschieden :)
Doch. Aber das hat dann wieder mit dem Apache nix zu tun
Stimmt teilweise, hat aber mit der Namensauflösung wenig bis nix zu tun. Die Crux ist dabei, daß _jeder_ unbekannte Adresßname auf das DocumentRoot des ersten virtuellen hosts umgeleitet wird, sofern der lokale Apache aktiv ist, aber keine Intenretverbindung besteht.
äh? Moment:
Wir haben der Rechner A, B und C im lokalen Netz und den Server S
S hat IP 192.168.1.1
ok, ich spiele mit
A fragt S mit IP-Adresse und bekommt die Standardseite.
ok, er bekommt die "Startseite", die auf S in dessen DocumentRoot liegt
B fragt S mit hostname und bekommt prompt die dem virtuellem host zugewiesene Seite.
auch ok, weil A,B und C ja durchgeroutet werden müßten, um eine Internetseite zu sehen
C fragt nach Google und bekommt was? - Nichts. Weil er schon www.google.de nicht in einen IP auflösen kann.
Dann stimmt das Routing nicht und/oder C hat (in diesem Fall wichtig) S nicht als Proxy eingetragen, und vor allem fährt C hier grade Windows und S tut das auch *g*. Ist S offline und hat den lokalen Apache laufen, bekommt C ach mit dem Aufruf von http://www.google.de die Startseite des _ersten_ virtuellen host auf S zu sehen - wenn er denn S als Proxy drinstehen hat
Glaubs mir, ich habe so eine Konstruktion grade hier am Laufen: S fährt WinXP, ist online (sonst könnte ich nicht schreiben), A,B und C hängen hintendran, B fährt SuSE LINUX, B fährt Debian, D fährt Win95. Alle werden geroutet - gebe ich jetzt bei C "http://www.schnauss.de" ein, kriege ich die Startseite der Adresse im Internet, die ich seit zwei Jahren haben möchte, die mir aber nicht gehört. Schalte ich S offline und habe damit _nur noch_ den lokalen Apache laufen, bekomme ich auf C mit exakt derelben Adreßangabe das zu sehen, was auf S als virtualHost für "http://www.christoph-schnauss.de" eingetragen ist - und wenn C grade nach http://msn.de (grrrrr) verlangen sollte, bekommt er ebenfalls den virtualHost "http://www.christoph-schnauss.de" vom Server S zu sehen.
Was bei deiner Erläuterung ein bissel durcheinanderging, ist das Problem, daß ein "Server" sehr wohl Adressen durchrouten kann und dabei den lokalen Apache gewissermaßen "übergeht".
_dieses_ Problem, daß man einen lokalen Webserver nicht mit einem virtualHost versehen sollte, der eine im Internet (NIC) aufgelöste Adresse verwendet, sollten wir eventuell weiter diskutieren.
wenn du _einen_ Namen [...] als virtuellen host definiert hast, greift auch [...] auf dasselbe DocumentRoot-Verzeichnis zu
Aber nur, wenn der DNS (oder der DNS seines Proxys, oder dessen host- datei) die IP auflöst.
Nein.
Also: ich bin nicht im netz. Mache mir eine hosts- Datei mit fastix.local und der ip von fastix.dyndns.org.
Och nö ;-) Jetzt gehste auf dyndns, und das ist ja nun wirklich ein _absolut_ anderes (sehr problematisches) Thema
Die Auflösung der IP- Adressen des Requests findest aber auf dem Server statt. Wenn der die hosts nicht kennt...
Naja, ein "Server" sollte schon miondestens eine "hosts" haben. Aber selbst wenn er keine hat: dem lokalen Apache ist das wurscht. Der schiebt trotzdem "unbekannte" requests an http://www.request.sonstwas auf das DocumentRoot des ersten definierten virtualHost
- "aus dem Internet zugreifen" auf eine _private_ IP (oder ein privates Netz) sollte eh nicht in dieser Form möglich sein. Ausnahmen könnten die Regel bestätigen
http://fastix.dyndns.org/
Da ist so einer :)
äühm ,wie meinst du das jetzt?
ich kann im Intranet: http://servername.local auflösen
Kann ich auch ;-) Und alles, was im Intranet so eine Anfrage stellt, landet auf dem DocumentRoot meines ersten virtualHost - das ist bei mir http://www.schnauss.local
Oh, oh! 90 Prozent aller Hacks laufen Netzintern
das ist mir neu ;-)
Grüße aus Berlin
Christoph S.