Verteilung der Anfragen
Der einzige spezielle Bestandteil unseres Webservers ist der WebProxy. Er verteilt alle Anfragen, die auf Port 80 (http) und Port 443 (https) eingehen, auf die zuständigen [:FaxeUML: UML]-Webserver. Die Zuteilung erfolgt aufgrund von Vergleichen mit URL-Mustern.
Als WebProxy kamen für uns ein [http://httpd.apache.org apache]-Webserver mit dem [http://www.backhand.org/mod_backhand/ backhand]-Modul oder der [wiki:WikiPediaDe/Load-balancing Lastverteilungsserver] [http://www.apsis.ch/pound/ Pound] in Frage.
Die Nutzung eines apache-Server als Proxy stellte sich jedoch als recht komplex heraus - zumindest schafften wir es nicht, ihn so transparent zu konfigurieren, wie wir wollten
Pound dagegen ist sehr speziell und schlank - genau richtig für unsere Zwecke.
Zusätzlich zur Verteilung der Anfragen dient er auch als gemeinsamer SSL-Umsetzer - er leitet alle Verbindungen unverschlüsselt weiter. Dies ist ungefährlich, da die Kommunikation vollständig innerhalb des Rechners abläuft.
Detaillierte Informationen zur Einrichtung findest du auf der WebProxy-Seite.
Standard-Einstellungen der Server
Damit die Webserver gut mit dem WebProxy auskommen, brauchen sie folgende Einstellungen (apache):
UseCanonicalName on ServerName UMLNAME.sao
Manche Web-Dienste verweigern Teilfunktionalitäten, wenn sie glauben, dass SSL nicht aktiv ist (z.B. verweigern die Webmail-Oberflächen die Eingabe einer gpg-Passphrase). Dies lässt sich oft mit folgender Direktive beheben:
SetEnv HTTPS on
Probleme
Apache2 und PHP
Mensch munkelt, dass PHP Probleme mit den apache2-Modellen außer prefork haben kann.