STEPHANMUND.de

Linux

ePub

2008-11-29: Einrichtung eines ReverseProxy auf Basis von apache2

Update 2011-02-09: SSL

Ich habe den Artikeln im letzten Abschnitt um eine Konfiguration mit SSL erweitert.

Problem

Das gute alte Problem: Die Webseite soll von einem Server auf den anderen umziehen. Doch wie will man bewerkstelligen, dass der Umzug trotz IP-Wechsel, der mit DNS-bedingten Wartezeiten verbunden ist, für alle unterbrechungsfrei und möglichst ohne Inkonsistenzen (verschiedene Inhalte/Datenstände auf den beiden Servern) über die Bühne geht?

Lösung

Die Lösung ist gar nicht so schwierig und heißt mod_proxy. Damit werden relativ einfach alle Seitenaufrufe, die auf dem alten Server aufschlagen, an den neuen Server weitergeleitet und dann beantwortet. Die entpsrechende Konfiguration des vHosts auf dem alten Server sieht wie folgt aus:
<VirtualHost *>
  ServerName domain.tld
  DocumentRoot /htdocs
  ProxyRequests Off
  ProxyPreserveHost On
  <Location />
    Allow from All
    ProxyPass http://domain.tld/
    ProxyPassReverse http://domain.tld/
  </Location>
</VirtualHost>
Diese Konfiguration sorgt dafür, dass jeder Aufruf, der auf diesem vHost landet, transparent an den richtigen Server weitergegeben wird. Voraussetzungen:

Verwendung von SSL

Soll die Verbindung zum Backend-Server über eine SSL-gesicherte Verbindung erfolgen, muss die SSLProxyEngine aktiviert werden:
<VirtualHost *>
  ServerName domain.tld
  DocumentRoot /htdocs
  SSLProxyEngine On
  ProxyRequests Off
  ProxyPreserveHost On
  <Location />
    Allow from All
    ProxyPass https://domain.tld/
    ProxyPassReverse https://domain.tld/
  </Location>
</VirtualHost>

ePub

Kommentare

Kommentieren
von Stephan Mund2012-01-04 16:59:41
Ja, der Backend-Server benötigt (zumindest in der oben geschilderten Konfiguration) auch ein SSL-Zertifikat. Man kann jedoch auch einen reinen HTTP-Backend-Server verwenden. In diesem Fall einfach einfach in den Zeilen "ProxyPass" und "ProxyPassReverse" http://-URI angeben.

Stephan
von Tad2011-06-18 17:39:58
Hallo,
braucht der backend-server ein SSL Zertifikat damit der Proxy darauf zugreifen kann?
Wegen eines übermäßigen Spam-Aufkommens ist die Kommentar-Funktion bis auf weiteres deaktiviert.
Zurück zu Technik | Linux
Hat Ihnen der Artikel weitergeholfen? Sie wollen sich in irgendeiner Art für die geleistete Hilfe erkenntlich zeigen? Schauen Sie doch einmal auf meiner Amazon-Wunschliste vorbei, ich freue mich immer über eine kleine Sachspende:
Zur Wunschliste