Wir verwenden Pound als verteilenden Proxy.

Installation

Pound ist als Debian-Paket verfügbar. Bei der kompilierten Version ist leider eine Option deaktiviert, die für die Verwendung mit 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):

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:

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:

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 (zumindest ab der Version 1.8). Diese Umsetzung findet jedoch nur statt, wenn die Webserver anstelle von systemausfall.org die internen Namen der UMLs verwenden. Dies lässt sich durch die apache-Direktiven UseCanonicalName und ServerName kontrollieren. Dabei ist es essentiell, dass diese beiden Direktiven vor allen anderen Statements gelesen werden. Ansonsten wird die Fehlersuche sehr unerfreulich :)

Details: siehe FaxeWebServer

Subversion weiterleiten

Die Verwendung eines selbstkompilierten Pound-Pakets (inklusive configure-Flag --enable-msdav) ist absolut notwendig (Details siehe oben). Andernfalls tritt beispielsweise folgende Fehlermeldung auf: {{{svn: PROPFIND Anfrage fehlgeschlagen auf '/svn/cryptobox' svn: PROPFIND von '/svn/cryptobox': Could not read status line: connection was closed by server.}}}

WebProxy (zuletzt geändert am 2012-06-13 21:26:25 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.