Apache/HTTP/Reverse proxy: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Apache-Reverse-Proxy''' | |||
== | == Beschreibung == | ||
Apache kann als Reverse-Proxy verwendet werden | ; Hintergrund | ||
Apache kann als [[Reverse-Proxy]] verwendet werden | |||
* HTTP(S)-Anforderungen an andere Computer weiterleiten | |||
; Vorteile | ; Vorteile | ||
Zeile 12: | Zeile 14: | ||
|} | |} | ||
== | == mod_proxy == | ||
; ProxyPass | |||
Um Apache als Reverse-Proxy-Server einzurichten, müssen Sie mod_proxy aktivieren | Um Apache als Reverse-Proxy-Server einzurichten, müssen Sie mod_proxy aktivieren | ||
Einige andere gängige Mods, die du möglicherweise benötigst, sind unten aufgeführt | |||
mod_proxy | mod_proxy | ||
mod_http | mod_http | ||
Zeile 21: | Zeile 24: | ||
mod_html | mod_html | ||
; Installieren | |||
Das Installieren und Aktivieren von mod_proxy sieht beispielsweise folgendermaßen aus | |||
apt-get install libapache2-mod-proxy-html a2enmod mod_proxy | apt-get install libapache2-mod-proxy-html a2enmod mod_proxy | ||
Sobald diese Mods aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen | ; Konfiguration | ||
Sobald diese Mods aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen | |||
* Die Speicherorte variieren je nach Linux-Distribution | |||
* Bei RHEL-basierten Distributionen ist dies Ihre httpd.conf | |||
* Für Debian-basierte Sites verfügbar / Standard | |||
Erstellen Sie in Ihrem VirtualHost-Tag ein Location- Tag | ; 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 /> | <Location /> | ||
# commands go here | # commands go here | ||
</Location> | </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. | 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. | ||
ProxyPass http://mywebsite. | ; Zugriff ermöglichen | ||
ProxyPassReverse http://mywebsite. | 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 | Order allow,deny | ||
Allow from all | Allow from all | ||
; Extras | |||
Fügen Sie außerhalb der Standort-Tags oben auf dem virtuellen Host einige Extras hinzu | Fügen Sie außerhalb der Standort-Tags oben auf dem virtuellen Host einige Extras hinzu | ||
ProxyHTMLStripComments on | ProxyHTMLStripComments on | ||
ProxyRequests off | ProxyRequests off | ||
Zeile 47: | Zeile 59: | ||
ProxyHTMLDoctype XHTML | ProxyHTMLDoctype XHTML | ||
; SSL-Datenverkehr | |||
Wenn Sie SSL-Datenverkehr als Proxy verwenden, müssen Sie außerdem Folgendes hinzufügen | Wenn Sie SSL-Datenverkehr als Proxy verwenden, müssen Sie außerdem Folgendes hinzufügen | ||
SSLProxyEngine on | SSLProxyEngine on | ||
; Starten Sie Apache neu | |||
Starten Sie Apache neu oder laden Sie die Einstellungen neu, damit die Änderungen wirksam werden | Starten Sie Apache neu oder laden Sie die Einstellungen neu, damit die Änderungen wirksam werden | ||
service apache2 reload | service apache2 reload | ||
== Beispiel == | |||
Beispiel Apache | ; Apache Reverse Proxy VirtualHost | ||
Das folgende Beispiel zeigt einen Apache VirtualHost, der Port 80 überwacht | |||
Die Konfiguration akzeptiert Anforderungen, die mit dem www.foxtom.net Hostnamen übereinstimmen, und leitet die Anforderungen an den Server Back-End- mywebsite.foxtom.net weiter | |||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin administrator@ | ServerAdmin administrator@foxtom.net | ||
ProxyRequests off | ProxyRequests off | ||
DocumentRoot /var/www | DocumentRoot /var/www | ||
SSLProxyEngine on | SSLProxyEngine on | ||
ProxyPreserveHost On | ProxyPreserveHost On | ||
ServerName www. | ServerName www.foxtom.net | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
CustomLog ${APACHE_LOG_DIR}/access.log combined | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
# Possible values include: debug, info, notice, warn, error, crit, | # Possible values include: debug, info, notice, warn, error, crit, | ||
# alert, emerg | # alert, emerg | ||
LogLevel error | LogLevel error | ||
<Location /> | <Location /> | ||
ProxyPass http://mywebsite. | ProxyPass http://mywebsite.foxtom.net/ | ||
ProxyPassReverse http://mywebsite. | ProxyPassReverse http://mywebsite.foxtom.net/ | ||
Order allow,deny | Order allow,deny | ||
Allow from all | Allow from all | ||
</Location> | </Location> | ||
</VirtualHost> | |||
== Installation == | |||
== Syntax == | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
</syntaxhighlight> | |||
=== Optionen === | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
== Anwendung == | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
* [[Reverse proxy]] | |||
==== Dokumentation ==== | |||
==== Links ==== | |||
===== Weblinks ===== | |||
</noinclude> |
Aktuelle Version vom 4. November 2024, 14:28 Uhr
Apache-Reverse-Proxy
Beschreibung
- Hintergrund
Apache kann als Reverse-Proxy verwendet werden
- HTTP(S)-Anforderungen an andere Computer weiterleiten
- 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, müssen Sie mod_proxy aktivieren
Einige andere gängige Mods, die du möglicherweise benötigst, sind unten aufgeführt
mod_proxy mod_http mod_headers mod_html
- Installieren
Das Installieren und Aktivieren von mod_proxy sieht beispielsweise folgendermaßen aus
apt-get install libapache2-mod-proxy-html a2enmod mod_proxy
- Konfiguration
Sobald diese Mods aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen
- Die Speicherorte variieren je nach Linux-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
Das folgende Beispiel zeigt einen Apache VirtualHost, der Port 80 überwacht
Die Konfiguration akzeptiert Anforderungen, die mit dem www.foxtom.net Hostnamen übereinstimmen, und leitet die Anforderungen an den Server Back-End- mywebsite.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>