Virtual Hosts im LAN ansprechen
CB
- webserver
Hi,
wie können Virtual Hosts (apache, WAMP5) im LAN erreicht werden?
Auf dem Windows-PC selbst klappt es über die Datei hosts, beim Zugriff über LAN u. IP gehts nur zum ersten VirtualHost.
Gibt es eine Möglichkeit der Adressierung oder Umleitung ohne zusätzliche Ports und ohne extra DNS-Server?
Gruß CB
Hello,
wie können Virtual Hosts (apache, WAMP5) im LAN erreicht werden?
Auf dem Windows-PC selbst klappt es über die Datei hosts, beim Zugriff über LAN u. IP gehts nur zum ersten VirtualHost.
Gibt es eine Möglichkeit der Adressierung oder Umleitung ohne zusätzliche Ports und ohne extra DNS-Server?
Du könntest beim Systemstart eine hosts-Datei importieren lassen.
Dafür müsstest Du Dir ein kleines Script schreiben.
Bei älteren Systemen geht das Einbinden des Scriptes in den Startvorgang mit dem Policy Editor
Die neueren WinDOSen können in den Netzwerkeinstellungen zum Importieren aufgefordert werden.
Ich habe leider im Moment nur ein WinDOS 98SE zur Verfügung, sonst würde ich genau nachgucken.
Die gültige Datei für hosts (oder auch LMHosts) muss dann erreichbar auf einem Rechner liegen, der immer zur Verfügung steht.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi,
Du könntest beim Systemstart eine hosts-Datei importieren lassen.
danke für den Tipp. Dürfte zwar langfristig komfortabel sein, aber wenn ich die Systeme sowieso alle umstricken muß, kann ich vielleicht doch die jeweilige Datei zu Fuß bearbeiten. Müßte sonst auch noch überlegen, wie der Dateiimport bei Windows 98 sowie Linux-PCs abläuft.
Gruß CB
Hello,
danke für den Tipp. Dürfte zwar langfristig komfortabel sein, aber wenn ich die Systeme sowieso alle umstricken muß, kann ich vielleicht doch die jeweilige Datei zu Fuß bearbeiten. Müßte sonst auch noch überlegen, wie der Dateiimport bei Windows 98 sowie Linux-PCs abläuft.
Bei Win98 einfach mittels kleinem Programm beim Start (nach der Verbindung der Laufwerke) vom entfernten System ("Server") kopieren. Das Script muss nur darauf achten, dass es _erst_ die Netzwerkverbindung prüft (also ob auf das zentrale File zugegriffen wrden kann), bevor es die lokale Datei hosts überschreibt...
Das Starten geht zur Not auch in autostart, wenn man sich nicht durch Poledit durchquälen will.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
echo $begrüßung;
wie können Virtual Hosts (apache, WAMP5) im LAN erreicht werden?
Gibt es eine Möglichkeit der Adressierung oder Umleitung ohne zusätzliche Ports und ohne extra DNS-Server?
Jeder beteiligte Rechner muss den Namen in eine IP-Adresse auflösen können, oder jemanden kennen, der das für ihn erledigen kann. Wenn du nicht die hosts-Dateien händisch pflegen willst, benötigst du einen DNS oder einen Proxy. Der Proxy muss dann die Namen auflösen können.
Die Clients müssen dann nur wissen, dass sie über den Proxy gehen sollen, und wie sie ihn erreichen können. Die Proxy-Einstellung muss also auf die IP-Adresse des Proxys verweisen, oder die Client müssen den konfigurierten Namen auflösen können.
Als Proxy kannst du den Apachen verwenden. Für die Einrichtung kann ich dich nur auf die Dokumentation verweisen. Beachte außerdem, dass der Proxy nur von internen Adressen her erreichbar ist, sonst hast du binnen kurzer Zeit jede Menge Besucher, die sich über den offenen Proxy freuen.
echo "$verabschiedung $name";
Hi,
Als Proxy kannst du den Apachen verwenden. Für die Einrichtung kann ich dich nur auf die Dokumentation verweisen.
dnake, auf die Schnelle hab ich noch nichts geeignetes gefunden, werd es mir nochnmals anschauen. Wenn ich wirklich nur an einem Punkt, also beim sowieso laufenden apachen, ansetzen könnte, wäre es schon vorteilhaft.
Gruß CB
echo $begrüßung;
Als Proxy kannst du den Apachen verwenden. Für die Einrichtung kann ich dich nur auf die Dokumentation verweisen.
dnake, auf die Schnelle hab ich noch nichts geeignetes gefunden, werd es mir nochnmals anschauen.
Auf die Schnelle: http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
echo "$verabschiedung $name";
Hi,
Auf die Schnelle: http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
danke, mich beschäftigt aber noch eine Frage: Wenn ein PC im Intranet über seine Datei hosts auf einem anderen PC/Server verschiedene Virtual Hosts bei gleicher IP-Nummer richtig anspricht, gibt es da keinen Weg im Browser direkt etwas passendes mit IP-Nummer und Host-Name einzugeben?
Oder vielleicht etwas umständlich per Parameter an eine PHP-Datei auf dem Server...
Gruß CB
echo $begrüßung;
danke, mich beschäftigt aber noch eine Frage: Wenn ein PC im Intranet über seine Datei hosts auf einem anderen PC/Server verschiedene Virtual Hosts bei gleicher IP-Nummer richtig anspricht, gibt es da keinen Weg im Browser direkt etwas passendes mit IP-Nummer und Host-Name einzugeben?
Vielleicht gehe ich im Folgenden nicht direkt auf deine Frage ein, aber ...
TCP/IP läuft grundsätzlich über IP-Adressen. Wenn du einen Rechnernamen hast, muss den irgendwer in eine IP-Adresse auflösen, damit du eine Verbindung aufbauen kannst.
Namensbasierende virtuelle Hosts funktionieren mit einer Erweiterung des HTTP. Die Verbindung erfolgt immer noch von IP-Adresse zu IP-Adresse. Der Client sendet nun aber einen HTTP-Header mit, der den gewünschten Namen extra noch einmal aufführt. Darauf kann der Apache entsprechend reagieren.
Bei der Proxy-Lösung muss der Client eine IP-Verbindung zum Proxy aufbauen können. Entweder kennt er die IP-Adresse oder kann sie auflösen (lassen). Mit dem Proxy spricht der Client wiederum HTTP und teilt ihm den gewünschten Namen mit. Und den muss der Proxy nun auflösen können, um eine IP-Verbindung zum Zielserver aufbauen zu können, und über HTTP wird der gewünschte Name mitgegeben.
Oder vielleicht etwas umständlich per Parameter an eine PHP-Datei auf dem Server...
Es gibt 1001 Möglichkeiten, den Teil einer URL zwischen Hostnamen und (einschließlich) Query-String von einem Apachen interpretieren zu lassen, damit er die gewünschte Ressource ausliefert. Aber von diesem Teil sind auch die in den Dokuments verwendeten Links abhängig. Wenn sie beispielsweise absolut sind, müssen sie den von dir eingeschobenen Parameter oder Pfadbestandteil ebenfalls beinhalten.
echo "$verabschiedung $name";
Hi,
Wenn sie beispielsweise absolut sind, müssen sie den von dir eingeschobenen Parameter oder Pfadbestandteil ebenfalls beinhalten.
nach deinen Ausführungen zum HTTP-Header würde ich dann auf die Idee kommen, irgendwie mit (per PHP?) angepasstem Header wieder an den Server mit gleicher IP-Nummer weiterzuleiten. Wenn der Proxy sowas sowieso besser macht kanns auch der Proxy sein, aber Proxy und weitere benutzte Ports kamen mir erstmal umständlicher vor.
Gruß CB
echo $begrüßung;
nach deinen Ausführungen zum HTTP-Header würde ich dann auf die Idee kommen, irgendwie mit (per PHP?) angepasstem Header wieder an den Server mit gleicher IP-Nummer weiterzuleiten.
Spiel doch mal dein Szenario durch. Du hast einen Browser. Handelsüblich. Sein Verhalten ist in gewissen Grenzen konfigurierbar, aber sein Protokoll-Unterbau ist fest. Davor sitzt ein Anwender. Was soll der eintippen bzw. in der Adresszeile sehen? Kann der Browser dieses so verwenden, dass letztlich eine Verbindung zum Server zustanden kommt?
Wenn der Proxy sowas sowieso besser macht kanns auch der Proxy sein, aber Proxy und weitere benutzte Ports kamen mir erstmal umständlicher vor.
Der Proxy ist auch nur ein Hilfsmittel. Ich behaupte mal, ein DNS lässt sich nicht schwieriger einrichten als ein Proxy. Und da du Bedenken wegen des Ressourcenverbrauch hattest ... die sind unbegründet.
echo "$verabschiedung $name";
Hi,
Spiel doch mal dein Szenario durch.
wenn es darauf hinausläuft, dass die betr. Seiten auf dem Server immer ihre jeweilige Zugehörigkeit über den Browser mitschleppen müßten, ist es nicht geeignet.
Der Proxy ist auch nur ein Hilfsmittel. Ich behaupte mal, ein DNS lässt sich nicht schwieriger einrichten als ein Proxy. Und da du Bedenken wegen des Ressourcenverbrauch hattest ... die sind unbegründet.
Wenn eine Lösung per Proxy bedeutet, dass sämtliche Zugriffe aufs Internet auch durchgeleitet werden müssen, dürfte es auch nichts sein. Ähnlich scheint es aber doch bei einem DNS-Server zu sein?
Gruß CB
echo $begrüßung;
Wenn eine Lösung per Proxy bedeutet, dass sämtliche Zugriffe aufs Internet auch durchgeleitet werden müssen, dürfte es auch nichts sein.
Ja, als Proxy kann man im Allgemeinen immer nur einen konfigurieren. Jedoch gibt es die Möglichkeit, ein Script zu verwenden, welches dann den Browser veranlasst bei bestimmten Bedingungen (z.B. *.meinedomain.example) einen Proxy (auch aus mehreren) zu benutzen, oder (für alles andere) den Proxy zu ignorieren. Aber das Erstellen des Scripts ist natürlich auch wieder Aufwand.
Ähnlich scheint es aber doch bei einem DNS-Server zu sein?
Der DNS-Server muss auf alle Fälle für Namen, für die er nicht zuständig ist, einen anderen DNS-Server befragen. Man kann einem Client zwar mehrere DNS-Server konfigurieren, doch dient das vorwiegend im Falle eines Ausfalls, nicht als nacheinander zu befragende Server, falls der erste negativ antwortet. (Ich hoffe, diese Aussage stimmt so. Wenn nicht, bitte korrigieren.)
echo "$verabschiedung $name";
Hi,
irgenwie ist das alles nicht so toll. Vielleicht doch, wie Sven geposted hat, "je Host eine eigene IP, die man üblicherweise virtuell an das bestehende Netzwerk-Interface bindet.". Bei Windows XP vmtl. schwerer realiserbar als unter Linux. Oder doch ein eigener Port für jeden virtuellen Server, schien mir bislang wegen der Sicherheitseinstellungen unpraktisch.
Gruß CB
Moin!
wie können Virtual Hosts (apache, WAMP5) im LAN erreicht werden?
Auf dem Windows-PC selbst klappt es über die Datei hosts, beim Zugriff über LAN u. IP gehts nur zum ersten VirtualHost.
Namensbasierte virtuelle Hosts benötigen: einen Hostnamen. Und den löst der Browser nur auf, wenn ihm irgendeine Art der Namensauflösung in eine IP zur Verfügung steht: hosts-Datei oder DNS.
IP-basierte virtuelle Hosts benötigen keinen Namen. Dafür aber je Host eine eigene IP, die man üblicherweise virtuell an das bestehende Netzwerk-Interface bindet.
Das spart dann die Namensauflösung, man hat allerdings die diversen IPs zu behalten und auseinanderzuhalten.
Mein Tipp: Wenn sowieso schon ein Webserver benutzt wird, kann der gleiche Computer auch gleich noch DNS-Server werden - das macht vieles einfacher. Namen sind einfach leichter zu behalten.
- Sven Rautenberg
Hi,
die Lösung soll möglichst einfach sein und den PC nicht noch mehr belasten.
Gleiche IP-Nummer mit einem unterscheidenden Zusatz wäre auch ok, wenn dann die absoluten Pfade stimmen. Vielleicht geht eine Weiterleitung von je einem Unterverzeichnis statt einen extra DNS-Server zu bemühen?
Gruß CB
Hi nochmal,
die Adressierung der Virtual Hosts über zusätzliche Ports scheint doch interessant zu sein.
Welche Ports sollte ich unter Windows XP freigeben? Kann ich einfach willkürlich einen hoffentlich wenig genutzten Bereich, vielleicht zwischen 7000 und 8000, verwenden?
Gruß CB
Hallo,
Welche Ports sollte ich unter Windows XP freigeben? Kann ich einfach willkürlich einen hoffentlich wenig genutzten Bereich, vielleicht zwischen 7000 und 8000, verwenden?
Klar - im Prinzip ist jeder freie Port bis auf Port 0 möglich. Frei heißt hier, dass auf DEINEM Rechner kein anderer Dienst läuft. Du könntest Deinen Webserver auf einer Windows-Kiste also auch z.B. problemlos auf Port 22 (SSH) laufen lassen, denn Windows bietet normalerweise kein SSH an. Die Verwendung von bestimmten Ports ist reine Konvention - ist nirgendwo _direkt_ vorgeschrieben, dass eine Anwendung unter einem bestimmten Port laufen _muss_. Allerdings ist's halt so, dass wenn man im Client den Port in einer beliebigen Anwendung nicht explizit angibt, man dann immer auf dem Default-Port der Anwendung landet. Deswegen musst Du eben die Portnummer explizit im Browser angeben, wenn Dein Webserver woanders lauscht.
Viele Grüße,
Christian
Hi,
alles klar, die Lösung ist wohl doch vorteilhaft, so müssen die hosts-Dateien nicht angepasst oder aktualisiert werden. Bleiben die Windows-Firewall und die httpd.conf auf dem Server-PC.
Gruß CB