Zum Inhalt springen

Apache/13 Proxy und Cache/Proxy/Grundkonfiguration: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „=== Grundkonfiguration === Bevor im Folgenden die einzelnen Proxy-Direktiven vorgestellt werden, finden Sie hier als ersten Anhaltspunkt zwei einfache, aber vollständige Proxy-Konfigurationen – die erste für einen Forward-Proxy, die zweite für einen Reverse-Proxy. Beachten Sie, dass es sehr wichtig ist, einen Proxy-Server vor unberechtigten Zugriffen zu schützen. Schließlich könnte ansonsten jeder Ihren Proxy verwenden, um auf beliebige Interneti…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=== Grundkonfiguration ===
=== Grundkonfiguration ===
Bevor im Folgenden die einzelnen Proxy-Direktiven vorgestellt werden, finden
Bevor im Folgenden die einzelnen Proxy-Direktiven vorgestellt werden, finden Sie hier als ersten Anhaltspunkt zwei einfache, aber vollständige Proxy-Konfigurationen – die erste für einen Forward-Proxy, die zweite für einen Reverse-Proxy
Sie hier als ersten Anhaltspunkt zwei einfache, aber vollständige Proxy-Konfigurationen – die erste für einen Forward-Proxy, die zweite für einen Reverse-Proxy.


Beachten Sie, dass es sehr wichtig ist, einen Proxy-Server vor unberechtigten
Beachten Sie, dass es sehr wichtig ist, einen Proxy-Server vor unberechtigten Zugriffen zu schützen
Zugriffen zu schützen. Schließlich könnte ansonsten jeder Ihren Proxy verwenden, um auf beliebige Internetinhalte zuzugreifen! In aller Regel werden ProxyZugriffe deshalb auf das lokale Netzwerk beschränkt; Authentifizierung ist ebenfalls möglich und kann in den meisten Browsern, die den entsprechenden Proxy
* Schließlich könnte ansonsten jeder Ihren Proxy verwenden, um auf beliebige Internetinhalte zuzugreifen! In aller Regel werden ProxyZugriffe deshalb auf das lokale Netzwerk beschränkt; Authentifizierung ist ebenfalls möglich und kann in den meisten Browsern, die den entsprechenden Proxy ansprechen, automatisiert werden
ansprechen, automatisiert werden.


Zunächst einmal müssen Sie die Module für die konkrete Proxy-Funktionalität
Zunächst einmal müssen Sie die Module für die konkrete Proxy-Funktionalität aktivieren: mod_proxy muss für jede Art von Proxy-Betrieb aktiv sein; daneben können Sie eines oder mehrere der soeben aufgeführten mod_proxy_*-Module aktivieren
aktivieren: mod_proxy muss für jede Art von Proxy-Betrieb aktiv sein; daneben
können Sie eines oder mehrere der soeben aufgeführten mod_proxy_*-Module
aktivieren.


Beachten Sie, dass keines dieser Hilfsmodule eigene Direktiven definiert; die
Beachten Sie, dass keines dieser Hilfsmodule eigene Direktiven definiert; die Konfiguration ist allein Sache von mod_proxy
Konfiguration ist allein Sache von mod_proxy. In dieser Grundanleitung wird
* In dieser Grundanleitung wird zunächst einmal nur die Einrichtung eines HTTP-Proxys vorgestellt; Einzelheiten für die anderen Protokolle entnehmen Sie bitte der anschließenden Direktivenreferenz
zunächst einmal nur die Einrichtung eines HTTP-Proxys vorgestellt; Einzelheiten
für die anderen Protokolle entnehmen Sie bitte der anschließenden Direktivenreferenz.


Mit folgenden Anweisungen machen Sie Apache zum Forward-Proxy für HTTPAnfragen, der aus Sicherheitsgründen auf das lokale Netzwerk beschränkt ist (die
Mit folgenden Anweisungen machen Sie Apache zum Forward-Proxy für HTTPAnfragen, der aus Sicherheitsgründen auf das lokale Netzwerk beschränkt ist (die IP-Adressen müssen Sie gegebenenfalls an Ihr eigenes Netzwerk anpassen)
IP-Adressen müssen Sie gegebenenfalls an Ihr eigenes Netzwerk anpassen):
  # Module laden – nur bei DSO-Betrieb
  # Module laden – nur bei DSO-Betrieb:
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy.so
 
  # Proxy einschalten
  # Proxy einschalten
  ProxyRequests On
  ProxyRequests On
Zeile 33: Zeile 25:
  </Proxy>
  </Proxy>


Mit dieser Einstellung werden Proxy-Anfragen über den Standard-TCP-Port abgewickelt, an dem Apache lauscht. Damit wird allerdings jede Anfrage als ProxyAnfrage betrachtet, sodass Sie den entsprechenden Apache-Server nicht mehr als
Mit dieser Einstellung werden Proxy-Anfragen über den Standard-TCP-Port abgewickelt, an dem Apache lauscht
gewöhnlichen Webserver benutzen können. Falls das auf einem bestimmten
* Damit wird allerdings jede Anfrage als ProxyAnfrage betrachtet, sodass Sie den entsprechenden Apache-Server nicht mehr als gewöhnlichen Webserver benutzen können
Host Ihr Wunsch war, ist es in Ordnung. In allen anderen Fällen sollten Sie einen
* Falls das auf einem bestimmten Host Ihr Wunsch war, ist es in Ordnung
zusätzlichen Port konfigurieren und einen virtuellen Host als HTTP-Proxy einrichten. Die folgende Variante verarbeitet Proxy-Anfragen nur auf Port 3128, der
* In allen anderen Fällen sollten Sie einen zusätzlichen Port konfigurieren und einen virtuellen Host als HTTP-Proxy einrichten
auch von reinen Proxy-Cache-Produkten wie squid verwendet wird:
* Die folgende Variante verarbeitet Proxy-Anfragen nur auf Port 3128, der auch von reinen Proxy-Cache-Produkten wie squid verwendet wird


# Module laden – nur bei DSO-Betrieb:
# Module laden – nur bei DSO-Betrieb
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy.so
 
  # Zusätzlicher Port für Proxy-Anfragen
  # Zusätzlicher Port für Proxy-Anfragen
  Listen 3128
  Listen 3128
  # Virtueller Host für Proxy-Port 3128
  # Virtueller Host für Proxy-Port 3128
  <VirtualHost _default_:3128>
  <VirtualHost _default_:3128>
Zeile 51: Zeile 42:
  ProxyRequests On
  ProxyRequests On
  ProxyVia On
  ProxyVia On
  # Konfiguration für Proxy-Anfragen
  # Konfiguration für Proxy-Anfragen
  <Proxy *>
  <Proxy *>
Zeile 61: Zeile 51:
  </VirtualHost>
  </VirtualHost>


In den Browsern Ihres lokalen Netzwerks können Sie nun den neuen Proxy aktivieren; dies funktioniert je nach Browser unterschiedlich, und eine Beschreibung
In den Browsern Ihres lokalen Netzwerks können Sie nun den neuen Proxy aktivieren; dies funktioniert je nach Browser unterschiedlich, und eine Beschreibung würde den Rahmen dieser Anleitung sprengen
würde den Rahmen dieser Anleitung sprengen.


Das nächste kleine Beispiel zeigt die Reverse-Proxy-Funktionalität; es speist
Das nächste kleine Beispiel zeigt die Reverse-Proxy-Funktionalität; es speist Anfragen für den URL-Pfad /sales aus der URL http://sales.mynet.de
Anfragen für den URL-Pfad /sales aus der URL http://sales.mynet.de. Die zweite
* Die zweite Direktive korrigiert die URL in HTTP-Redirect-Headern – Umleitungsadressen würden sonst nicht in den eingebundenen Adressraum, sondern auf den ReverseProxy selbst verweisen
Direktive korrigiert die URL in HTTP-Redirect-Headern – Umleitungsadressen
würden sonst nicht in den eingebundenen Adressraum, sondern auf den ReverseProxy selbst verweisen.


  ProxyPass /sales http://sales.mynet.de
  ProxyPass /sales http://sales.mynet.de
  ProxyPassReverse /sales http://sales.mynet.de
  ProxyPassReverse /sales http://sales.mynet.de


Für Reverse-Proxy-Funktionen brauchen Sie ProxyRequests nicht zu aktivieren, und Sie benötigen auch keinen virtuellen Host und keinen <Proxy>-Container.
Für Reverse-Proxy-Funktionen brauchen Sie ProxyRequests nicht zu aktivieren, und Sie benötigen auch keinen virtuellen Host und keinen <Proxy>-Container
Schließlich soll das Einbinden der externen Ressource in der Regel für alle Anfragen gelten. Wenn Sie eine feinere Kontrolle über Reverse-Proxy-Operationen
Schließlich soll das Einbinden der externen Ressource in der Regel für alle Anfragen gelten
benötigen, können Sie die entsprechenden Funktionen von mod_rewrite verwenden (siehe Kapitel 8, »Weiterleitungen und Indizes«).
* Wenn Sie eine feinere Kontrolle über Reverse-Proxy-Operationen benötigen, können Sie die entsprechenden Funktionen von mod_rewrite verwenden (siehe Kapitel 8, »Weiterleitungen und Indizes«)


Das letzte kurze Beispiel demonstriert die Funktionsweise des (seit Apache 2.1beta verfügbaren) Proxy-Load-Balancings; dazu muss zusätzlich das Modul mod_
Das letzte kurze Beispiel demonstriert die Funktionsweise des (seit Apache 2.1beta verfügbaren) Proxy-Load-Balancings; dazu muss zusätzlich das Modul mod_
proxy_balancer eingebunden werden. Hier wird der jeweils identische Inhalt des
proxy_balancer eingebunden werden
Verzeichnisses /media der drei Server media1.mynet.de bis media3.mynet.de
* Hier wird der jeweils identische Inhalt des Verzeichnisses /media der drei Server media1.mynet.de bis media3.mynet.de unter dem URL-Pfad /media eingebunden
unter dem URL-Pfad /media eingebunden:


  <Proxy balancer://mediahosts>
  <Proxy balancer://mediahosts>
Zeile 88: Zeile 74:
  ProxyPass /media balancer://mediahosts/media
  ProxyPass /media balancer://mediahosts/media


Auf die AJP-Proxy-Funktionalität zur Einbindung der Servlet- und JSP-Engine
Auf die AJP-Proxy-Funktionalität zur Einbindung der Servlet- und JSP-Engine Tomcat wird in Kapitel 15, »Technologien zur Webprogrammierung«, eingegangen – sowohl mit als auch ohne Load-Balancer
Tomcat wird in Kapitel 15, »Technologien zur Webprogrammierung«, eingegangen – sowohl mit als auch ohne Load-Balancer.

Version vom 4. März 2025, 10:48 Uhr

Grundkonfiguration

Bevor im Folgenden die einzelnen Proxy-Direktiven vorgestellt werden, finden Sie hier als ersten Anhaltspunkt zwei einfache, aber vollständige Proxy-Konfigurationen – die erste für einen Forward-Proxy, die zweite für einen Reverse-Proxy

Beachten Sie, dass es sehr wichtig ist, einen Proxy-Server vor unberechtigten Zugriffen zu schützen

  • Schließlich könnte ansonsten jeder Ihren Proxy verwenden, um auf beliebige Internetinhalte zuzugreifen! In aller Regel werden ProxyZugriffe deshalb auf das lokale Netzwerk beschränkt; Authentifizierung ist ebenfalls möglich und kann in den meisten Browsern, die den entsprechenden Proxy ansprechen, automatisiert werden

Zunächst einmal müssen Sie die Module für die konkrete Proxy-Funktionalität aktivieren: mod_proxy muss für jede Art von Proxy-Betrieb aktiv sein; daneben können Sie eines oder mehrere der soeben aufgeführten mod_proxy_*-Module aktivieren

Beachten Sie, dass keines dieser Hilfsmodule eigene Direktiven definiert; die Konfiguration ist allein Sache von mod_proxy

  • In dieser Grundanleitung wird zunächst einmal nur die Einrichtung eines HTTP-Proxys vorgestellt; Einzelheiten für die anderen Protokolle entnehmen Sie bitte der anschließenden Direktivenreferenz

Mit folgenden Anweisungen machen Sie Apache zum Forward-Proxy für HTTPAnfragen, der aus Sicherheitsgründen auf das lokale Netzwerk beschränkt ist (die IP-Adressen müssen Sie gegebenenfalls an Ihr eigenes Netzwerk anpassen)

# Module laden – nur bei DSO-Betrieb
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy.so
# Proxy einschalten
ProxyRequests On
ProxyVia On
# Konfiguration für Proxy-Anfragen
<Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.0 127.0.0.1
</Proxy>

Mit dieser Einstellung werden Proxy-Anfragen über den Standard-TCP-Port abgewickelt, an dem Apache lauscht

  • Damit wird allerdings jede Anfrage als ProxyAnfrage betrachtet, sodass Sie den entsprechenden Apache-Server nicht mehr als gewöhnlichen Webserver benutzen können
  • Falls das auf einem bestimmten Host Ihr Wunsch war, ist es in Ordnung
  • In allen anderen Fällen sollten Sie einen zusätzlichen Port konfigurieren und einen virtuellen Host als HTTP-Proxy einrichten
  • Die folgende Variante verarbeitet Proxy-Anfragen nur auf Port 3128, der auch von reinen Proxy-Cache-Produkten wie squid verwendet wird
  1. Module laden – nur bei DSO-Betrieb
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy.so
# Zusätzlicher Port für Proxy-Anfragen
Listen 3128
# Virtueller Host für Proxy-Port 3128
<VirtualHost _default_:3128>
# Proxy einschalten
ProxyRequests On
ProxyVia On
# Konfiguration für Proxy-Anfragen
<Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.0 127.0.0.1
</Proxy>
</VirtualHost>

In den Browsern Ihres lokalen Netzwerks können Sie nun den neuen Proxy aktivieren; dies funktioniert je nach Browser unterschiedlich, und eine Beschreibung würde den Rahmen dieser Anleitung sprengen

Das nächste kleine Beispiel zeigt die Reverse-Proxy-Funktionalität; es speist Anfragen für den URL-Pfad /sales aus der URL http://sales.mynet.de

  • Die zweite Direktive korrigiert die URL in HTTP-Redirect-Headern – Umleitungsadressen würden sonst nicht in den eingebundenen Adressraum, sondern auf den ReverseProxy selbst verweisen
ProxyPass /sales http://sales.mynet.de
ProxyPassReverse /sales http://sales.mynet.de

Für Reverse-Proxy-Funktionen brauchen Sie ProxyRequests nicht zu aktivieren, und Sie benötigen auch keinen virtuellen Host und keinen <Proxy>-Container Schließlich soll das Einbinden der externen Ressource in der Regel für alle Anfragen gelten

  • Wenn Sie eine feinere Kontrolle über Reverse-Proxy-Operationen benötigen, können Sie die entsprechenden Funktionen von mod_rewrite verwenden (siehe Kapitel 8, »Weiterleitungen und Indizes«)

Das letzte kurze Beispiel demonstriert die Funktionsweise des (seit Apache 2.1beta verfügbaren) Proxy-Load-Balancings; dazu muss zusätzlich das Modul mod_ proxy_balancer eingebunden werden

  • Hier wird der jeweils identische Inhalt des Verzeichnisses /media der drei Server media1.mynet.de bis media3.mynet.de unter dem URL-Pfad /media eingebunden
<Proxy balancer://mediahosts>
BalancerMember http://media1.mynet.de
BalancerMember http://media2.mynet.de
BalancerMember http://media3.mynet.de
</Proxy>
ProxyPass /media balancer://mediahosts/media

Auf die AJP-Proxy-Funktionalität zur Einbindung der Servlet- und JSP-Engine Tomcat wird in Kapitel 15, »Technologien zur Webprogrammierung«, eingegangen – sowohl mit als auch ohne Load-Balancer