Mehrer Server hinter Port 80 erreichbar machen

Alles, was den Apache betrifft, kann hier besprochen werden.

Mehrer Server hinter Port 80 erreichbar machen

Postby kleinemeise » 13. January 2008 11:51

Hallo Leute,

ich würde gern folgendes Erreichen:

Zur Zeit ist es bei uns so, das wir mehrere Xampp Server laufen haben, die alle unter einen anderen Port von aussen erreichbar sind und von unseren Router dann per NAT auf die interne IP +Port80 weitergeleitet werden.

Nun soll es so sein, dass alle über Port 80 von AUSSEN erreichbar sein sollen -- gut müsste über Subdomains gehen.

Nur wie stelle ich es an, wenn eine Subdomain auf Server1 und eine andere subdomain auf Server2 läuft?

Wichtig ist, das unser Seiten nicht mehr durch http://www.seite1.de:81, http://www.seite1.de:82 sondern durch http://seite1.seite.de und http://seite2.seite.de aufgerufen werden können.

Für ein paar Tipps wäre ich sehr dankbar.
kleinemeise
 
Posts: 4
Joined: 13. January 2008 11:42
Location: Leipzig

Postby Scory » 13. January 2008 13:19

Das geht am einfachsten (und möglicherweise auch nur so), indem Du den Router so einstellst, dass er auf einen "Master"-Server durchleitet (es geht ja pro Port nur ein Server).

Auf diesem Server richtest Du mit VirtualHost jede Menge Subdomains ein (seite1, seite2 usw.) und in der jeweilige Sektion der VirtualHost-Subdomains definierst Du einen sog. "Reverse Proxy", der die Daten bei den jeweiligen Servern abholt, die sich hinter seite1, seite2 usw. verbergen.

Ein ganz gutes Tutorial findest Du hier: http://www.apachetutor.org/admin/reverseproxies

Auf die Schnelle zeige ich Dir ein Beispiel, wie die VirtualHost-Einträge dann aussehen. Dein Beispiel ist leider etwas konfus, weil Du einmal seite1 als Domainname hast UND verschiedene Ports, und zum anderen auf einmal seite als Domainname hast und seite1 als Subdomain - das ist irgendwie quer, verstehe ich nicht, was das soll. Aber egal, hier ein Beispiel, was Du nur anpassen mußt auf Deine Begebenheiten:

Code: Select all
NameVirtualHost *:80
<VirtualHost *:80>
Servername localhost
DocumentRoot /srv/www/htdocs
...
</VirtualHost>
<VirtualHost *:80>
Servername seite1.seite.de
ProxyPass / http://xxx.xxx.xxx.xxx:81
ProxyPassReverse / http://xxx.xxx.xxx.xxx:81
...
</VirtualHost>
<VirtualHost *:80>
Servername seite2.seite.de
ProxyPass / http://yyy.yyy.yyy.yyy:82
ProxyPassReverse / http://yyy.yyy.yyy.yyy:82
...
</VirtualHost>
...


Die xxx.xxx.xxx.xxx und yyy.yyy.yyy.yyy sind einfach die IPs im Intranet(!) der anderen Server und wie Du siehst, sind die damit eigentlich schon eindeutige gekennzeichnet, d.h. es wäre nicht mehr notwendig, die jeweiligen Apaches auf verschiedenen Ports laufen zu lassen (81, 82,...) - in der Anweisung für den ProxyPass und ProxyPassReverse kann man die auch weglassen. Das hängt davon ab, ob Du die anderen Rechner auch anpassen willst (theoretisch könntest Du die lassen wie sie sind).

Über die Bedeutung von ProxyPass und ProxyPassReverse mußt Du im Tutorial nachlesen und/oder die Apache Doku bemühen. Jedenfalls müßtest Du problemlos so ans Ziel kommen.

MfG
Scory

P.S.: Wie Du an den Beispielen erkennst, würde es auch ohne Subdomains gehen, indem nur MEHRERE ProxyPass definierst (für nur einen Virtuellen Host) und dann pro Seite, die Syntax von aussen wäre dann:

www.seite.de/seite1 ==> ein Rechner
www.seite.de/seite2 ==> anderer Rechner

usw.

Dazu mußt Du nur den / in der Proxy...-Anweisung durch /seite1/ bzw. /seite2/ ändern und kannst sie alle in einen einzigen VirtualHost-Block schreiben. Geht genauso gut.
Scory
 

Postby Oepfel » 08. February 2008 15:04

Tach auch,

dieses Thema interessiert mich auch sehr, da wie ja schon in einem ähnlichem Thread besprochen eine ähnliche Konstellation bei mir statt findet. Da musste ich das ntürlich gleich mal ausprobieren.
Jedoch lies sich der Apache nicht mehr starten, nachdem ich die vhost angepasst habe. Kann es sein, dass Proxy unter Wampp nicht läuft, oder muss ich da erst nochwas zusätzlich aktivieren? Das TUtorial habe ich zwar gelesen, aber ob ichs richtig verstanden habe, naja :shock:

Auf meiner Linux Kiste hab ichs noch nicht probiert.

mfg
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby Oepfel » 12. February 2008 21:25

Hab das mal mit meinem Linux Server vorne und meinem Windows Server hintendran probiert. Funzt fast perfekt. Eine Weiterleitung auf den Windows Rechner haut hin, allerdings, können die weitergeleiteten Domains vom Windows Rechner dann nicht mehr per VHost auseinandergenommen werden.

Damit es verständlicher wird, falls nötig:

- Nur Windows Server funktioniert mit den VHost perfekt !
- Nur Linux Server dto.
- Domain(s) per ProxyPassReverse (auf Linux Server) auf meine feste IP:81 weitergeleitet. Port 81 im Router auf Windows Server LAN-IP:80 weitergeleitet. Leider kommt egal bei welcher weitergeleiteten Domain immer die Hauptseite des Windows Servers.

Kann man das noch irgendwie korrigieren ? Wäre sehr geil, da wir mit mehreren an verschiedenen Programmen basteln, welche aber unterschiedliche Betriebssysteme benötigen.

Danke für jegliche Hilfe oder Vorschläge
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein


Return to Apache

Who is online

Users browsing this forum: No registered users and 48 guests