Konfiguration des Apache2 als SSL Proxy, um den SSL Handshake, der bis zu einer Sekunde dauern kann, ein zu sparen. Das Setup ist dann so aufgebaut, das aus dem lokalem Netz Zugriffe nicht mehr direkt gegen den Zielserver per https ausgeführt werden, sondern alle Zugriffe gegen den Zielserver werden auf den Proxy ausgeführt.
Dazu werden erst die nötigen Pakete installiert und der apache konfiguriert.
Zusätzlich wird mod_status konfiguriert, um die Funktionsweise bzw. die Nutzung prüfen zu können.
apt-get install libapache2-mod-proxy-html /usr/sbin/a2enmod proxy_html /usr/sbin/a2enmod proxy /usr/sbin/a2enmod proxy_http /usr/sbin/a2enmod ssl
Jetzt ist apache installiert und die relevanten Module sind aktiviert.
Die folgende Konfiguration in /etc/apache2/conf.d/status aktiviert die Statusseite auf Port 8081.
ProxyStatus on ServerAdmin me@example.com DocumentRoot /var/www/html/example.com ServerName example.com ErrorLog logs/example.com-error_log CustomLog logs/example.com-access_log common SetHandler server-status Order allow,deny Deny from all Allow from example.com
Nach einem Apache Restart ist diese Seite unter http://SERVER:8081 erreichbar.
Die eigentliche Proxy Konfiguration findet in /etc/apache2/sites-available/default statt.
Dies ersetzt die normale Apache Webserver Funktionalität. Anstelle den Inhalt von der Datei zu ersetzen könnte eine neue Datei angelegt werden, dann funktioniert beides auch parallel. Unter VirtualHost ist im folgendem eine Portnummer eingetragen, unter dieser steht der SSL Proxy dann zur Verfügung.
ServerAdmin webmaster@localhost SSLProxyEngine On ProxyPass / https://ZIELHOST min=50 max=500 keepalive=on connectiontimeout=5 timeout=30 ttl=300 proxytimeout 300 timeout 300 ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined