Reverse Proxy Einrichten
Was ist ein Reverse Proxy ?
Ein Reverse Proxy (auch HTTP-Accelerator gennant) ist ein Proxy der vor einem Webserver geschaltet wird und an dessen Stelle auf den Port 80(HTTP) hört.
Hier ein Kurzes Beispiel :
Ohne Reverse Proxy
You are not allowed to view links.
Register or
Login Internet ========= WebServer
89.0.0.2
Mit Reverse Proxy
You are not allowed to view links.
Register or
Login Internet ========= Reverse Proxy ====== WebServer
86.0.0.1 89.0.0.2
Grafik : You are not allowed to view links.
Register or
Login Vorteile eines Reverse Proxies
Performance Der Proxy kann konfiguriert werden um Inhalte zu cachen Da der Reverse schneller als ein WebServer ist.
Sicherheit Der WebServer ist von außen unsichtbar und der Reverse kann konfiguriert um URL's
zu prüfen und sie zu blockieren.
Lastverteilung (auch Load Balancing genannt) Ein Reverse kann konfiguriert werden dass er Anfragen an mehrere WebServer
verteilt.
IP Verschleierung Da der Reverse vor einem WebServer geschaltet ist bekommt die Anfrage domain.tld die IP des Reverses
Wenn eine Abuse an domain.tld kommt betrifft dieses nur den Reverse Proxy nicht den unsichtbare WebServer.
Nachteile eines Reverse Proxies
Doppelter Traffic
Warum einen Reverse Proxy ?
(siehe Vorteile eines Reverse Proxies)
Gibt es auch Anbieter eines Reverse Proxies ?
Ja, zb.
CloudFlare
.usw
Welchen Server Standort soll ich für den Reverse Proxy nehmen ?
Es kommt auf die Inhalte an.
Island ist für Whistleblowing gut.
Mit welcher Software kann man einen Reverse Proxy einrichten ?
WebServer (Apache, nginx .usw)
Cache Server (Varnish .usw)
Squid
.usw
Was ist zu beachten ?
Hoster Man sollte sich gut überlegen welchen Hoster man für seinen Reverse Proxy Server nimmt.
Anonymität Um sich auf dem Reverse aufzuschalten empfehle ich das TOR Netzwerk zu benutzen oder einen sicheren VPN.
Es ist noch zu beachten dass man Grund Kenntnisse in Linux haben sollte.
Welcher Hoster ist zu empfehlen ?
Ich habe gute erfahrung mit PRQ gemacht
Wie richte ich einen Reverse Proxy unter DEBIAN/UBUNTU mit Apache2 ein ?
1. Erstmal müssen folgende Apache Module aktiviert werden
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ftp
a2enmod proxy_connect
a2enmod proxy_ajp
a2enmod proxy_balancer
a2enmod cache
a2enmod disk_cache
a2enmod mem_cache
a2enmod proxy_html
a2enmod headers
a2enmod deflate
2. Jetzt muss eine Umleitung zu domain.tld eingerichtet werden
nano /etc/apache2/sites-enabled/000-default
folgendes hinzufügen :
ProxyRequests Off
ProxyPreserveHost On
<Location />
Allow from All
ProxyPass You are not allowed to view links.
Register or
Login ProxyPassReverse You are not allowed to view links.
Register or
Login </Location>
Ungefähr sollte es so aussehen :
<VirtualHost *>
ServerName domain.tld
DocumentRoot /var/www/
ProxyRequests Off
ProxyPreserveHost On
<Location />
Allow from All
ProxyPass You are not allowed to view links.
Register or
Login ProxyPassReverse You are not allowed to view links.
Register or
Login </Location>
</VirtualHost>
3. Apache neustarten
/etc/init.d/apache2 restart
Leitet HTTPS Anfragen an HTTP
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile <Pfad zur .crt Datei>
SSLCertificateKeyFi
le <Pfad zur .key Datei>
ServerName domain.tld
ProxyRequests off
<Location />
Order deny,allow
Allow from all
</Location>
ProxyPass / You are not allowed to view links.
Register or
Login ProxyPassReverse / You are not allowed to view links.
Register or
Login </VirtualHost>
Apache neustarten
/etc/init.d/apache2 restart
Weiteres wird in dieser Anleitung folgen
WICHTIG : Ich übernehme keine Haftung für Schäden