Guten Morgen zusammen,
ich hänge mich mal hier an das Thema ran, da es doch meinem "Problem" ziemlich ähnelt.
Und zwar sieht es bei mir so aus, dass ich zwei Webserver im LAN auf unterschiedlichen Maschinen, also unterschiedlichen IPs.
Davor soll ein Apache stehen, der quasi als Reverse Proxy auf die beiden Webserver dienen soll.
Das Wunschszenario wäre, dass er anhand eines teils der URL entsprechend auf die Server verweist bzw. die Requests von den Server holt.
So nach dem Motto:
http://meinedomain.de/serverEins/subdir/index.html
Der Request soll dann die index.html aus dem subdir vom Webserver serverEins dem Benutzer darstellen.
http://meinedomain.de/serverZwei/wasweissichwas.html
Dies hier zeigt dann die wasweissichwas.html vom Webserver serverZwei aus dem Lan an.
Das habe ich schon mal nicht hinbekommen, also dachte ich mir, dass ich das anhand der Domain machen kann.
http://eins-meinedomain.de/subdir/index.html
Das landet quasi auf dem Apache, der der Reverse Proxy ist, zeigt aber dennoch die index.html vom serverEins an.
http://zwei-meinedomain.de/wasweissichwas.html
Da kommt dann die wasweissichwas.html vom Server zwei.
Nun zu dem, was ich bisher gemacht habe.
Erst mal unter SLES 11 den Apache und das Modul mod_proxy ans fliegen gebracht.
Im Serverroot mal eine index.html angepasst "Hier ist eine Baustelle :)", d.h. die wird angezeigt, wenn ich einfach nur http://meinedomain.de eingebe.
Im Verzeichnis /etc/apache2/vhosts.d habe ich nun jeweils zwei conf-Dateien erstellt:
und
Was ich jetzt komisch finde ist die Tatsache, dass wenn ich die conf für ServerZwei lösche und die für ServerEins wie folgt einstelle, dann komme ich zumindest via http://serverEins-meinedomain.de/subdir/index.html auf die index.html auf dem ServerEins
Passe ich nun die config für ServerZwei so an wie für ServerEins nur mit dem anderen Domainnamen, dann kommt die Meldung:
Ist für mich auch logisch, denn 2 x *:80 als Virtual Host macht ja nicht wirklich viel Sinn.
Hat jemand einen Tip, wo es hier bei der Konfig klemmt?
ich hänge mich mal hier an das Thema ran, da es doch meinem "Problem" ziemlich ähnelt.
Und zwar sieht es bei mir so aus, dass ich zwei Webserver im LAN auf unterschiedlichen Maschinen, also unterschiedlichen IPs.
Davor soll ein Apache stehen, der quasi als Reverse Proxy auf die beiden Webserver dienen soll.
Das Wunschszenario wäre, dass er anhand eines teils der URL entsprechend auf die Server verweist bzw. die Requests von den Server holt.
So nach dem Motto:
http://meinedomain.de/serverEins/subdir/index.html
Der Request soll dann die index.html aus dem subdir vom Webserver serverEins dem Benutzer darstellen.
http://meinedomain.de/serverZwei/wasweissichwas.html
Dies hier zeigt dann die wasweissichwas.html vom Webserver serverZwei aus dem Lan an.
Das habe ich schon mal nicht hinbekommen, also dachte ich mir, dass ich das anhand der Domain machen kann.
http://eins-meinedomain.de/subdir/index.html
Das landet quasi auf dem Apache, der der Reverse Proxy ist, zeigt aber dennoch die index.html vom serverEins an.
http://zwei-meinedomain.de/wasweissichwas.html
Da kommt dann die wasweissichwas.html vom Server zwei.
Nun zu dem, was ich bisher gemacht habe.
Erst mal unter SLES 11 den Apache und das Modul mod_proxy ans fliegen gebracht.
Im Serverroot mal eine index.html angepasst "Hier ist eine Baustelle :)", d.h. die wird angezeigt, wenn ich einfach nur http://meinedomain.de eingebe.
Im Verzeichnis /etc/apache2/vhosts.d habe ich nun jeweils zwei conf-Dateien erstellt:
Code:
NameVirtualHost LAN-IP-ServerEins:8888
<VirtualHost LAN-IP-ServerEins:8888>
ServerAdmin webmaster@meinedomain.de
ServerName serverEins.meinedomain.de
ErrorLog /var/log/apache2/serverEins-error_log
CustomLog /var/log/apache2/serverEins-access_log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
ProxyPass / http://LAN-IPServerEins:8888/
ProxyPassReverse / http://LAN-IP-ServerEins:8888/
DefaultType text/html
</VirtualHost>
Code:
NameVirtualHost LAN-IP-ServerZwei:8080
<VirtualHost LAN-IP-ServerZwei:8080>
ServerAdmin webmaster@meinedomain.de
ServerName serverZwei.meinedomain.de
ErrorLog /var/log/apache2/serverZwei-error_log
CustomLog /var/log/apache2/serverZwei-access_log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
ProxyPass / http://LAN-IPServerZwei:8080
ProxyPassReverse / http://LAN-IP-ServerZwei:8080/
DefaultType text/html
</VirtualHost>
Code:
<VirtualHost *:80>
ServerAdmin webmaster@meinedomain.de
ServerName serverEins.meinedomain.de
ErrorLog /var/log/apache2/serverEins-error_log
CustomLog /var/log/apache2/serverEins-access_log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
ProxyPass / http://LAN-IPServerEins:8888/
ProxyPassReverse / http://LAN-IP-ServerEins:8888/
DefaultType text/html
</VirtualHost>
Code:
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
Hat jemand einen Tip, wo es hier bei der Konfig klemmt?