Apache2 Workshop Proxy & Load Balancing
Zur Navigation springen
Zur Suche springen
Apache2 Proxy & Load Balancing
- Apache kann als Reverse Proxy und Load Balancer genutzt werden.
- Der Proxy schützt Backend-Server und verteilt Lasten effizient.
- Die Konfiguration erfolgt in /etc/apache2/sites-available/ oder /etc/apache2/mods-available/.
Reverse Proxy einrichten
- Apache kann Anfragen an Backend-Server weiterleiten.
- Wichtige Module aktivieren:
- a2enmod proxy proxy_http
- Beispielkonfiguration für einen Reverse Proxy:
- cat /etc/apache2/sites-available/reverse-proxy.conf*
<VirtualHost *:80>
ServerName proxy.example.com
ProxyPass / http://192.168.1.100:8080/
ProxyPassReverse / http://192.168.1.100:8080/
</VirtualHost>
- Aktivieren und neustarten:
- a2ensite reverse-proxy
- systemctl restart apache2
Load Balancing mit mod_proxy_balancer
- Apache kann Anfragen auf mehrere Backend-Server verteilen.
- Module aktivieren:
- a2enmod proxy_balancer proxy_http lbmethod_byrequests
- Beispielkonfiguration für Load Balancing:
- cat /etc/apache2/sites-available/load-balancer.conf*
<VirtualHost *:80>
ServerName balancer.example.com
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.101:8080
BalancerMember http://192.168.1.102:8080
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
- Aktivieren und neustarten:
- a2ensite load-balancer
- systemctl restart apache2
SSL für Reverse Proxy nutzen
- SSL-Termination am Apache-Proxy entlastet Backend-Server.
- Modul aktivieren:
- a2enmod ssl
- Beispiel für HTTPS-Proxy mit Let’s Encrypt:
- cat /etc/apache2/sites-available/secure-proxy.conf*
<VirtualHost *:443>
ServerName secure-proxy.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
ProxyPass / http://192.168.1.100:8080/
ProxyPassReverse / http://192.168.1.100:8080/
</VirtualHost>
- Zertifikat mit Let's Encrypt beziehen:
- certbot --apache -d secure-proxy.example.com
Aufgaben
- Richte einen Reverse Proxy für einen internen Dienst ein.
- Konfiguriere ein Load Balancing zwischen zwei Backend-Servern.
- Implementiere SSL für den Proxy und teste die sichere Verbindung.
Warum ist Proxy & Load Balancing wichtig?
- Schutz von Backend-Servern vor direktem Zugriff.
- Skalierung der Infrastruktur durch Lastverteilung.
- SSL-Termination verbessert die Sicherheit und Performance.