Apache/HTTP/Reverse proxy: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==
; Hintergrund
; Hintergrund
* Apache kann als [[Reverse-Proxy]] verwendet werden
Apache kann als [[Reverse-Proxy]] verwendet werden
* HTTP(S)-Anforderungen an andere Computer weiterleiten
* HTTP(S)-Anforderungen an andere Computer weiterleiten


Zeile 14: Zeile 14:
|}
|}


== ProxyPass ==
== 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


Zeile 23: Zeile 24:
  mod_html
  mod_html


Um Module unter Debian zu aktivieren, müssen Sie sicherstellen, dass sie installiert und dann aktiviert sind.
; Installieren
 
Das Installieren und Aktivieren von mod_proxy sieht beispielsweise folgendermaßen aus
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


; Konfiguration
Sobald diese Mods aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen
Sobald diese Mods aktiviert sind, können wir mit der Bearbeitung der Apache-Konfiguration beginnen
* Die Speicherorte variieren je nach Linux-Distribution
* Die Speicherorte variieren je nach Linux-Distribution
Zeile 33: Zeile 34:
* Für Debian-basierte Sites verfügbar / Standard  
* Für Debian-basierte Sites verfügbar / Standard  


; VirtualHost
Erstellen Sie in Ihrem VirtualHost-Tag ein Location- Tag
Erstellen Sie in Ihrem VirtualHost-Tag ein Location- Tag
* das dem externen Pfad entspricht, den Sie verwenden möchten.  
* das dem externen Pfad entspricht, den Sie verwenden möchten.  
Zeile 43: Zeile 45:
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.  


; Zugriff ermöglichen
Sie benötigen außerdem einige Zeilen, um den Zugriff zu ermöglichen
Sie benötigen außerdem einige Zeilen, um den Zugriff zu ermöglichen
  ProxyPass http://mywebsite.jamescoyle.net/
  ProxyPass http://mywebsite.foxtom.net/
  ProxyPassReverse http://mywebsite.jamescoyle.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
Zeile 55: 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
Sie haben jetzt einen funktionierenden Proxy - alle an gesendeten Anfragen / werden von abgerufen http://mywebsite.jamescoyle.net


== Beispiel ==
== Beispiel ==
Zeile 68: Zeile 71:
Das folgende Beispiel zeigt einen Apache VirtualHost, der Port 80 überwacht
Das folgende Beispiel zeigt einen Apache VirtualHost, der Port 80 überwacht


Die Konfiguration akzeptiert Anforderungen, die mit dem www.jamescoyle.net Hostnamen übereinstimmen, und leitet die Anforderungen an den Server Back-End- mywebsite.jamescoyle.net weiter
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@jamescoyle.net
   ServerAdmin administrator@foxtom.net
   ProxyRequests off
   ProxyRequests off
   DocumentRoot /var/www
   DocumentRoot /var/www
Zeile 77: Zeile 80:
   ProxyPreserveHost On
   ProxyPreserveHost On
   
   
   ServerName www.jamescoyle.net
   ServerName www.foxtom.net
   
   
   ErrorLog ${APACHE_LOG_DIR}/error.log
   ErrorLog ${APACHE_LOG_DIR}/error.log
Zeile 87: Zeile 90:
   
   
   <Location />
   <Location />
   ProxyPass http://mywebsite.jamescoyle.net/
   ProxyPass http://mywebsite.foxtom.net/
   ProxyPassReverse http://mywebsite.jamescoyle.net/
   ProxyPassReverse http://mywebsite.foxtom.net/
   Order allow,deny
   Order allow,deny
   Allow from all
   Allow from all
Zeile 96: Zeile 99:


== Installation ==
== Installation ==
== Syntax ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>


Zeile 109: Zeile 112:
=== Dateien ===
=== Dateien ===
<noinclude>
<noinclude>
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
* [[Reverse proxy]]
==== Dokumentation ====
==== Dokumentation ====
===== Man-Pages =====
===== Info-Pages =====
==== Links ====
==== Links ====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
</noinclude>
</noinclude>
 
[[Kategorie:Apache/HTTP/Anwendungen]]
 
= TMP =
 
Tags: Apache 2 httpd mod_proxy ProxyPass ProxyPassReverse Reverse Proxy

Aktuelle Version vom 21. November 2024, 13:15 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>

Installation

Aufruf

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Links

Weblinks