Apache/HTTP/Reverse proxy: Unterschied zwischen den Versionen
| Zeile 31: | Zeile 31: | ||
== Konfiguration == | == Konfiguration == | ||
Sobald diese Module aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen | Sobald diese Module aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen | ||
* Die Speicherorte variieren je nach | * Die Speicherorte variieren je nach Distribution | ||
* Bei RHEL-basierten Distributionen ist dies Ihre httpd.conf | * Bei RHEL-basierten Distributionen ist dies Ihre httpd.conf | ||
* Für Debian-basierte Sites verfügbar / Standard | * Für Debian-basierte Sites verfügbar / Standard | ||
Version vom 4. März 2025, 10:55 Uhr
Apache/HTTP/Reverse proxy - Apache-Reverse-Proxy
Beschreibung
- HTTP(S)-Anforderungen an andere Computer weiterleiten
Apache kann als Reverse-Proxy verwendet werden
- Vorteile
| Sicherheit | Apache-Instanz kann in eine DMZ gestellt und der Welt ausgesetzt werden, während die Webserver ohne Zugriff auf die Außenwelt dahinter sitzen können |
| Last reduzieren | Sie können die Last auf den Webservern mit verschiedenen Methoden reduzieren, z. B. Web-Caching am Proxy, Lastausgleich und Ablenkung des Datenverkehrs für ungültige Anforderungen |
mod_proxy
- ProxyPass
Um Apache als Reverse-Proxy-Server einzurichten, wird mod_proxy aktiviert
- Weitere Module
Gängige Module, die möglicherweise notwendig sind
Installation
Installation und Aktivierung von mod_proxy
sudo apt install libapache2-mod-proxy-html a2enmod mod_proxy
Konfiguration
Sobald diese Module aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen
- Die Speicherorte variieren je nach Distribution
- Bei RHEL-basierten Distributionen ist dies Ihre httpd.conf
- Für Debian-basierte Sites verfügbar / Standard
VirtualHost
Erstellen Sie in Ihrem VirtualHost-Tag ein Location- Tag das dem externen Pfad entspricht, den Sie verwenden möchten
Für dieses Beispiel verwenden wir /
<Location />
# commands go here
</Location>
innerhalb des Location- Tags die Proxy-Optionen Fügen ProxyPass und Sie ProxyPassReverse hinzu, gefolgt von der Site-Adresse, die das Ziel des Proxys sein wird.
- Zugriff ermöglichen
Sie benötigen außerdem einige Zeilen, um den Zugriff zu ermöglichen
ProxyPass http://mywebsite.foxtom.net/
ProxyPassReverse http://mywebsite.foxtom.net/
Order allow,deny
Allow from all
- Extras
Fügen Sie außerhalb der Standort-Tags oben auf dem virtuellen Host einige Extras hinzu
ProxyHTMLStripComments on
ProxyRequests off
SetOutputFilter proxy-html
ProxyHTMLDoctype XHTML
- SSL-Datenverkehr
Wenn Sie SSL-Datenverkehr als Proxy verwenden, müssen Sie außerdem Folgendes hinzufügen
SSLProxyEngine on
- Starten Sie Apache neu
Starten Sie Apache neu oder laden Sie die Einstellungen neu, damit die Änderungen wirksam werden
service apache2 reload
Beispiel
- Apache Reverse Proxy VirtualHost
VirtualHost, der Port 80 überwacht
- Akzeptiert Anforderungen, die mit dem www.foxtom.net Hostnamen übereinstimmen
- leitet die Anforderungen an den Server Back-End-Server website.foxtom.net weiter
<VirtualHost *:80>
ServerAdmin administrator@foxtom.net
ProxyRequests off
DocumentRoot /var/www
SSLProxyEngine on
ProxyPreserveHost On
ServerName www.foxtom.net
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg
LogLevel error
<Location />
ProxyPass http://mywebsite.foxtom.net/
ProxyPassReverse http://mywebsite.foxtom.net/
Order allow,deny
Allow from all
</Location>
</VirtualHost>