Wir verwenden [http://apsis.ch/pound Pound] als verteilenden Proxy.
Installation
[http://apsis.ch/pound Pound] ist als [http://packages.debian.org/cgi-bin/search_packages.pl?keywords=pound&searchon=names&subword=1&version=all&release=all Debian-Paket] verfügbar. Bei der kompilierten Version ist leider eine Option deaktiviert, die für die Verwendung mit [:FaxeSubVersion: Subversion] benötigt wird. Falls du also keinen Subversion-Server hinter dem Proxy einrichten willst, dann genügt ein einfaches apt-get install pound.
Andernfalls kannst du folgendermaßen ein debian-Paket mit der aktivierten Option erstellen (idealerweise auf einem anderen Rechner, um keinen Compiler auf dem Server installieren zu müssen):
eventuell zur /etc/apt/sources.list eine deb-src-Quelle hinzufügen, also beispielsweise:
deb-src http://ftp.de.debian.org/debian testing main
nun geht es los:
apt-get update apt-get install apt-build apt-build source pound cd /var/cache/apt-build/build/pond-1.?.? # den Parameter, den wir fuer subversion brauchen, aktivieren sed -i "s#\(./configure -.*\)#\1 --enable-msdav#" debian/rules
in die /etc/apt/apt-build.conf solltest du nun den Prozessortyp des Ziel-Servers eintragen (man gcc könnte dir weiterhelfen) - in unserem Fall:
mcpu = -mcpu=pentium2
jetzt kannst du das Paket bauen lassen:
dpkg-buildpackage
Dabei wurde neben einer Warnung, dass du das Paket nicht signieren konntest, das fertige Debian-Paket im darüberliegenden Verzeichnis erstellt. Das kannst du auf dem Server per dpkg -i pound-*.deb installieren.
Einrichtung
Um die verschlüsselten und unverschlüsselten Daten gut zu trennen, verwenden wir zwei Instanzen von pound. Dies lässt sich sehr einfach realisieren, indem du zwei Konfigurationsdateien unter /etc/pound/ erstellst.
Wir verwenden die beiden folgenden Dateien:
- attachment:ssl.cfg
- attachment:no-ssl.cfg
Für Subversion ist es wichtig, zwei Optionen zu aktivieren:
ExtendedHTTP 1 WebDAV 1
Den anhängigen Servern könnte folgende Option helfen:
HTTPSHeaders 0 "Front-End-Https: on"
Anschließend solltest du den Start von pound in der /etc/default/pound aktivieren.
Probleme
Web-Anwendungen verlangen SSL
Folgende Programme benötigen eine SSL-Verbindung, um vollständig zu funktionieren:
[http://squirrelmail.org/ SquirrelMail] für die Eingabe einer gpg-Passphrase
[http://inter7.com/?page=sqwebmail SqWebMail] ebenfalls für die gpg-Passphrase
Mit der apache-Direktive SetEnv HTTPS on kannst du diesen Programmen eine SLL-Verbindung vorgaukeln. Dazu benötigst du das apache-Modul mod_env.
Umleitung von https nach http
Webserver senden eine 301-Umleitung, falls eine Adresse ohne abschließenden Schrägstrich angefordert wird, die auf ein Verzeichnis zeigt. Leider gehen die Webserver hinter dem pound-Proxy davon aus, dass sie per http und nicht per https erreicht werden können. Dies resultiert in einer Fehlermeldung 404 - not found.
Pound ist in der Lage, solche Umleitungen zu korrigieren - mindestens ab der Version 1.8. Diese Umsetzung findet jedoch nur statt, wenn die Webserver anstelle von systemausfall.org die internen Namen der [:FaxeUML: UMLs] verwenden. Dies lässt sich durch die apache-Direktive UseCanonicalName kontrollieren.
Details: siehe FaxeWebServer