translation of the attached file, mod_proxy.html.de, was done with the original mod_proxy.html.en from the cvs-repository, Sep 19th 2002.
well - I've done a bit on my own. Example: - removed dead link to # Using Netscape hostname shortcuts - shortened due to the ProxyRemote directive the chapter about domains, subnet, ipaddr that should be general knowledge of a webmaster/system administrator, and is not useful for a quick overview, and there is additionally a link to DNS caveats. - added 1 or 2 sentences for ProxyPass and ProxyPassReverse I'm missing a good example for a reverse proxy configuration with ProyRemote embedded in a virtual host and hidden by another forward proxy. Anyone here :- ? i.t -- . ___ | | Irmund Thum | |Title: mod_proxy - Apache HTTP Server
Apache HTTP Server Version 2.0
Apache Modul mod_proxy
| Beschreibung: | HTTP/1.1 proxy/gateway Server |
|---|---|
| Status: | Erweiterung |
| Modul-Id: | proxy_module |
| Quellcode: | mod_proxy.c |
Zusammenfassung
Warnung
Dieses Dokument ist aktualisiert worden, um die Änderungen in Betracht zu ziehen, die in der Version 2.0 des Apache HTTP Servers vorgenommen wurden. Da einige der Informationen noch ungenau sein können, verwenden Sie diese bitte mit Bedacht.Dieses Modul implementiert ein proxy/gateway für Apache Es implementiert Proxy-Fähigkeit für ftp, CONNECT (für SSL), HTTP/0.9, HTTP/1.0 und HTTP/1.1. Das Modul kann konfiguriert werden, um andere Proxymodule für diese und andere Protokolle anzuschließen.
Dieses Modul war experimentell in Apache 1.1.x. Verbesserungen und Fehlerbeseitigungen wurden in Apache v1.2.x und in Apache v1.3.x gemacht, dann unterging das Modul einer Generalüberholung für Apache v2.0. Die Protokollunterstützung wurde zu HTTP/1.1 verbessert, und Filterunterstützung wurde ermöglicht.
Notieren Sie bitte, daß die cache-Funktion, die im mod_proxy bis zu Apache v1.3.x vorhanden ist, vom mod_proxy entfernt worden und im neuen Modul mod_cache enthalten ist.
Sollten Sie beim Verbindungsaufbau zu Internetservern SSL brauchen,
lesen Sie bitte die SSLProxy* Direktiven in mod_ssl.
Setzen Sie keinen Proxy mit ProxyRequests auf solange Sie den Server nicht sicher gemacht haben. Offene Proxyserver
sind gefährlich für Ihr Netzwerk und das Internet im allgemeinen.
Direktives
AllowCONNECT
NoProxy
<Proxy>
ProxyBlock
ProxyDomain
ProxyErrorOverride
ProxyIOBufferSize
<ProxyMatch>
ProxyMaxForwards
ProxyPass
ProxyPassReverse
ProxyPreserveHost
ProxyReceiveBufferSize
ProxyRemote
ProxyRemoteMatch
ProxyRequests
ProxyTimeout
ProxyVia
Topics
Allgemeine Konfigurationsthemen
- Forward und Reverse Proxies
- Zugriff auf den Proxy kontrollieren
- Warum kann Dateityp xxx nicht per FTP heruntergeladen werden?
- Wie kann man ein Herunterladen mittels FTP ASCII von einer bestimmten Datei erzwingen?
- Wie erhält man via FTP auf Dateien außerhalb seines Benutzerverzeichnisses Zugriff?
- Wie kann man bei FTP das im Klartext vorliegende Passwort in der URL des Browsers verschlüsseln?
- Warum startet Apache etwas langsamer, wenn das Proxymodul benutzt wird?
- Was könnte sonst noch nützlich sein für einen Intranet Proxyserver?
- Wie kann man dem Proxy HTTP/1.0 beibringen und keepalive deaktivieren?
Forward und Reverse Proxy
Apache kann als forward und reverse Proxy konfiguriert werden.
Ein Forward Proxy ist ein Transitsystem, das einem Client-Browser die Verbindung zu einem entfernten Netzwerk ermöglicht worauf dieser normalerweise keinen Zugriff hat. Ein solcher Proxy kann auch Daten im Cache ablegen, was die Netzbelastung zwischen dem Rechner des Proxy und dem entfernten Webserver reduziert.
Einen Forward Proxy, einen Weiterleiter, konfiguriert man mit der
ProxyRemote Direktive.
Zusätzliches Cachen der Daten erfordert eine Konfiguration des Moduls
mod_cache.
Bei sehr hohen Ansprüchen an den Cache, GB-Bereich und mehrere hundert
oder tausend Benutzer, sollten Sie Squid
einsetzen.
Ein Reverse Proxy ist ein Webserver, der so konfiguriert ist, daß er Seiten eines anderen Webservers einblendet - und das zusätzlich zu eigenen von der Festplatte stammenden Dokumenten oder solchen, die dynamisch mit Skripten erzeugt wurden. Dem Client bleibt der Ursprung der eingeblendeten Seiten verborgen.
Ist der Reverse Proxy mit mod_cache konfiguriert, kann er auch als Cache für langsame Webserver eingesetzt werden. Damit lassen sich fortgeschrittene URL-Strategien und Verwaltungstechniken einsetzen in dem Sinn, daß Webseiten verschiedener Webserver oder Betriebssysteme innerhalb eines gemeinsamen Namensraums koexistieren. Zusätzlich bietet sich hier die Möglichkeit ein zentrales Loggen der Zugriffe zu implementieren.
Einen Reverse Proxy konfiguriert man mit den Direktiven ProxyPass und ProxyPassReverse.
Auch hierbei kann mit mod_cache ein Zusatzspeicher angelegt werden.
Zugriff auf den Proxy kontrollieren
Zugriffskontrolle auf den Proxy erfolgt mit der <Proxy>-Kontrollstruktur;
Beispiel:
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168.0
</Proxy>
Wenn man einen Reverse Proxy konfiguriert, wird die Zugriffskontrolle übernommen
von den Anweisungen in der <directory> -Konfiguration.
Warum kann Dateityp xxx nicht per FTP heruntergeladen werden?
Ein wahrscheinlicher Grund wird sein, daß der betreffende Dateityp nicht als application/octet-stream in der Datei mime.types konfiguriert ist. Eine solche Zeile könnte z.B. sein:
application/octet-stream bin dms lha lzh exe class tgz taz
Wie kann man ein Herunterladen mittels FTP ASCII von einer bestimmten Datei erzwingen?
In der seltenen Situation wo ein solches Herunterladen mittels der FTP
ASCII Übermittlungsmethode nötig ist (Standardtransfer
ist binär), kann man die Voreinstellung von mod_proxy
umgehen, indem man den URI ergänzt mit dem Zusatz ;type=a,
um den ASCII-Transfer zu erzwingen (FTP Verzeichniseinträge werden immer
im ASCII-Modus ausgeführt).
Wie erhält man via FTP auf Dateien außerhalb seines Benutzerverzeichnisses Zugriff?
Eine FTP URI wird normalerweise relativ zu dem Benutzerverzeichnis des
Benutzers interpretiert, der sich auf dem Server einloggt. Um in höher
gelgene Stockwerke zu gelangen, kann man beispielsweise nicht /../ angeben,
da die Punkte vom Browser interpretiert und nicht zum FTP-Server gesandt werden.
Um dieses Problem zu lösen, wurde der sogenannte "Squid %2f hack" in
den Apache FTP-Proxy implementiert; diese Lösung wird auch in anderen
Proxyservern, wie z.B dem
Squid Proxy Cache benutzt. Indem
man ein /%2f an den Pfad der Anforderung anhängt, kann man das Startverzeichnis
für FTP auf / (root - an Stelle des Benutzerverzeichnisses) setzen. Das
hängt natürlich auch von der Konfiguration des jeweiligen
FTP-Servers ab.
Beispiel: Um auf die Datei /etc/motd zuzugreifen,
verwendet man die URL
ftp://[EMAIL PROTECTED]/%2f/etc/motd
Wie kann man bei FTP das im Klartext vorliegende Passwort in der URL des Browsers verschlüsseln?
Apache benutzt verschiedene Strategien, wenn es um das Einloggen mittels Benutzername und Passwort geht. Fehlen Benutzername und Passwort, sendet Apache an den FTP-Server ein anonymes Login, z.B.,
user: anonymous
password: apache_proxy@
Das ist erfolgreich bei allen populären FTP-Servern, die für anonymen Zugriff konfiguriert sind.
Will man sich mit seinem Benutzernamen einloggen, so kann dieser in die
URL beispielsweise eingegeben werden als ftp://[EMAIL PROTECTED]/datei.
Wenn der FTP-Server nach einem Passwort fragt, was normalerweise der Fall
ist, dann wird Apache einen Antwort-Header generieren [401 Authorization
required], der den Browser des Benutzers dazu bringt ein Dialogfenster zu
öffnen, in welches Passwort und Benutzername eingegeben werden können.
Sind diese Eingaben erfolgt, wird ein neuer Verbindungsaufbau versucht,
und im Erfolgsfall wird die Seite angezeigt. Der Vorteil des Dialogfensters
für Passwort und Benutzername liegt darin, daß diese kritischen
Angaben nicht in der URL des Browsers erscheinen und damit für jemand
mit Zugang zum selben Rechner in der Historie des Browsers sichtbar sind.
Wichtige Notiz
Solchermassen übermittelte Daten werden auf ihrer Reise nicht verschlüsselt. Sie werden zwischen Browser und dem Apacheserver als base64-encoded Klartext übertragen, und auf dem Weg vom Apache Proxy zum FTP-Server in reinem Text. Sie sollten daher eigentlich NIE diese Methode benutzen, um mittels HTTP auf persönliche Daten auf einem FTP-Server zuzugreifen. Netzverkehr kann mitbelauscht und Klartext sehr einfach rausgeschnitten werden.Warum startet Apache etwas langsamer, wenn das Proxymodul benutzt wird?
Wenn man z.B. die ProxyBlock-Direktive
einsetzt, werden IP-Adressen nach ihrem Rechnernamen aufgelöst und im
Zwischenspeicher abgelegt, um im laufenden Betrieb schnelleren Zugriff zu
erhalten. Das kann für das Startverhalten einige Sekunden mehr Zeit
beanspruchen, je nachdem wieviele DNS-Anfragen erforderlich sind und wie
schnell der DNS-Server antwortet.
Was könnte sonst noch nützlich sein für einen Intranet Proxyserver?
Ein Apache Proxyserver im Intranet einer Firma wird Anfragen zum Internet
in der Regel durch eine Firewall senden müssen. Erfolgt jedoch auch
ein Zugriff auf Webseiten im Intranet, so sollte die Firewall umgangen werden.
Dazu dient die Direktive NoProxy.
Damit zählt man diejenigen Rechner auf, auf welche ein direkter Zugriff
ohne Umweg über die Firewall erfolgen soll..
Benutzer innerhalb eines Intranet tendieren dazu in der URL des Browsers
lokale Adressen abzukürzen, wie z.B. "http://intra/" an Stelle von
"http://intra.unsere.firma.de/". Bei einigen kommerziellen Proxyservern kann
man dieses Benutzerverhalten durch eine entsprechende Konfiguration abfangen
und auf die richtige Adresse weiterleiten. Wenn im Apache Webserver der Proxydienst
aktiviert ist, setzt man die ProxyDomain-Direktive für diesen Zweck
ein. Dann generiert derApache eine Redirekt-Antwort und leitet den
Client zu der korrekten, voll qualifizierten Adresse. Damit enthält
auch die Lesezeichendatei des Benutzers den voll qualifizierten Rechnernamen,
wie z.B. "http://intra.unsere.firma.de/"
Wie kann man dem Proxy HTTP/1.0 beibringen und keepalive deaktivieren?
Sollte ein Fall vorliegen, wo ein Applikationsserver keine Verbindungen
aufrechterhalten kann, oder HTTP/1.1 ist nicht sauber implementiert,
stehen zwei Umgebungsvariablen zur Verfügung, die ein HTTP/1.0
mit "no keepalive" senden. Gesetzt wird das mit den SetEnv-Direktiven 'force-proxy-request-1.0'
und 'proxy-nokeepalive':
<location /buggyappserver/ >
ProxyPass http://buggyappserver:7001/foo/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</location>
AllowCONNECT Direktive
| Beschreibung: | Liste von erlaubten Portnummern für die Proxy CONNECT-Methode |
|---|---|
| Syntax: | AllowCONNECT port [port] ... |
| Voreinstellung: | AllowCONNECT 443 563 |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Die AllowCONNECT-Direktive erlaubt neben
den Standard-Portnummern für https und snews weitere
Ports für das CONNECT-Protokoll anzugeben, um SSL-Verbindungen über
einen Proxy zu tunneln. Man gebraucht die AllowCONNECT-Direktive,
wenn die Standardeinstellungen geändert oder erweitert werden sollen.
NoProxy Direktive
| Beschreibung: | Rechner, Domänen, oderr Netzwerke, zu denen direkt konnektiert werden soll |
|---|---|
| Syntax: | NoProxy host [host] ... |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Diese Anweisung ist nur dann nützlich, wenn die ProxyRemote-Direktive
verwendet wird. Mittels NoProxy kann man steuern,
ob eine Anfrage an den in der ProxyRemote-Anweisung
angegebenen Proxy durchgereicht oder die Zieladdresse direkt angesprochen
werden soll. Eine solche Liste wird mit Leerzeichen getrennt.
Beispiel
ProxyRemote * http://firewall.unserefirma.com:81
NoProxy .unserefirma.com 192.168.112.0/21
Als host-Argumente für die NoProxy-Direktive können Sie folgende Werte verwenden:
- Domainname, gekennzeichnet durch einen Punkt als erstes Zeichen
- Eine Domaine repräsentiert repräsentiert eine
Liste von Rechnern, die logischzu der gleichen DNS-Domain oder Zone gehören
(i.e., das Suffix der Hostnamen endet in Domain).
Beispiel:.com.apache.org.
- Subnetz, angegeben als partielle IP-Adresse oder als Adresse mit zugehöriger Netzmaske
- Beispiele:
192.168oder192.168.0.0
192.168.112.0/2
- IP-Adresse
- Beispiel: 192.168.123.7
- Hostname
- Beispiel:
prep.ai.mit.eduwww.apache.org.
Notiz: In vielen Situationen ist es effektiver eine IP-Adresse statt eines Hostnamens anzugeben, da eine DNS-Anfrage vermieden werden kann. Namensauflösung in Apache kann unnötig Zeit kosten, wenn die Verbindung zum DNS-Server langsam oder überlastet ist.
Notiz: Für Hostnamen wird Gross-/Kleinschreibung nicht unterschieden; deswegen werden Hosts mit Bezeichnugen wieWWW.MyDomain.comundwww.mydomain.com.(abschliessenden Punkt beachten!) als gleich betrachtet.
Siehe auch
<Proxy> Direktive
| Beschreibung: | Kontrollstruktur und Container für Direktiven bezüglich der Ressourcen |
|---|---|
| Syntax: | <Proxy wildcard-url> ...</Proxy> |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Direktiven innerhalb des <Proxy>-Abschnittes
gelten nur für den dafür zutreffenden Inhalt. Dabei sind Metazeichen
wie in der Shell erlaubt.
Im folgenden Beispiel wird nur Rechnern der Domain yournetwork.example.com
Zugriff auf den Proxyserver gewährt:
<Proxy *>
Order Deny,Allow
Deny from all
Allow from yournetwork.example.com
</Proxy>
Das nächste Beispiel zeigt wie man alle Dateien im Verzeichnis foo
von example.com mit dem INCLUDES-Filter parst, wenn
sie über den Proxy angefordert werden:
<Proxy http://example.com/foo/*>
SetOutputFilter INCLUDES
</Proxy>
ProxyBlock Direktive
| Beschreibung: | Wörter, Rechner oder Domainnamen für den Proxyzugriff sperren |
|---|---|
| Syntax: | ProxyBlock *|word|host|domain[word|host|domain] ... |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Mit der ProxyBlock-Direktive kann man eine
Liste von Wörterns, Rechnern und/oder Domainnamen sperren; Trennzeichen
in der Liste ist das Leerzeichen. Kommt im Hostnamen der URL ein Wort aus
der Liste vor, wird ebenfalls der Zugriff verweigert. Versucht ein
Nutzer auf die IP-Adresse einer gesperrten ("geblockten") Seite zuzugreifen,
wird dieser Versuch abgefangen. Das gilt auch für die aus Namensauflösung
abgeleiteten IP-Adressen. Beispiel:
ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
'rocky.wotsamattau.edu' wird demnach auch gesperrt, wenn stattdessen in der URL die IP-Adresse eingegeben wird.
Wichtig: auch 'wotsamattau' genügt als Treffer für 'wotsamattau.edu'.
Und keinen Sinn macht die folgende Angabe, die den Zugriff auf alles sperrt:
ProxyBlock *
ProxyDomain Direktive
| Beschreibung: | Anzuhängender Domainname bei unvollständigen Anforderungen |
|---|---|
| Syntax: | ProxyDomain Domain |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Diese Direktive ist nur nützlich für Apache Proxyserver im Intranet.
Die ProxyDomain-Direktive gibt den Domainnamen
an, der angehängt werden soll, wenn die Anforderung unvollständig
ist. Mittels eines HTTP-Redirekt wird ein Verweis auf den kompletten Namen
(FQDN) durchgeführt. Die im folgenden Beispiel angegebene ProxyDomain-Direktive wird dafür sorgen, daß
eine Eingabe eines Benutzers in der URL, wie z.B. http://intranet, umgewandelt
wird in http://intranet.unserefirma.com/
Beispiel
ProxyRemote * http://firewall.unserefirma.com:81
NoProxy .unserefirma.com 192.168.112.0/21
ProxyDomain .unserefirma.com
ProxyErrorOverride Direktive
| Beschreibung: | Ersatz der normalen Fehlermeldungen im Proxy |
|---|---|
| Syntax: | ProxyErrorOverride On|Off |
| Voreinstellung: | ProxyErrorOverride Off |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
| Kompatibilität | Verfügbar in version 2.0 und später |
Diese Direktive ist beispielsweise nützlich, wenn man für den Endbenutzer ein vertrautes "look and feel" für Seiten mit Fehlermeldungen herstellen möchte, insbesondre wenn ein Reverse Proxy konfiguriert ist. Mittels SSI kann man zusätzlich den Fehlercode erfassen und entsprechend eine dafür geeignete Seite an den Browser des Benutzers zurückliefern.
ProxyIOBufferSize Direktive
| Beschreibung: | IO Puffergröße für ausgehende HTTP und FTP Verbindungen |
|---|---|
| Syntax: | ProxyIOBufferSize bytes |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
<ProxyMatch> Direktive
| Beschreibung: | Kontrollstruktur und Container für Direktiven bezüglich der Ressourcen mit einem Regulären Ausdruck |
|---|---|
| Syntax: | <Proxy regex> ...</Proxy> |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Die <ProxyMatch>-Direktive ist identisch
mit der <Proxy>-Direktive;
statt einem Metazeichen (*) oder der Kombination von Ausdruck + Metazeichen
wird für das Bestimmen der URL ein Regulärer Ausdruck ausgewertet.
ProxyMaxForwards Direktive
| Beschreibung: | Maximale Anzahl der Weiterleitungsproxies |
|---|---|
| Syntax: | ProxyMaxForwards number |
| Voreinstellung: | ProxyMaxForwards 10 |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
| Kompatibilität | Verfügbar in Apache 2.0 und später |
Die ProxyMaxForwards-Direktive gibt an,
durch wieviele Proxies maximal die Anfrage durchgereicht werden darf. In
erster Linie dient diese Anweisung dem Vermeiden von Endlosschleifen oder
auch DoS(denial of service)-Attacken.
Beispiel
ProxyMaxForwards 6
ProxyPass Direktive
| Beschreibung: | Blendet Webseiten anderer Server in den eigenen Namensraum ein |
|---|---|
| Syntax: | ProxyPass [pfad] !|url |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Beim Einsatz dieser Direktive können Seiten anderer Server in den lokalen Namensraum eingeblendet werden; verwenden Sie zu diesem Zweck auf keinen Fall die Direktive ProxyRequests on. Der lokale Server agiert nicht als Proxy im herkömmlichen Sinne sondern mehr als ein Spiegel des Servers, dessen Seiten eingeblendet werden. Mit pfad geben Sie den Namen des lokalen virtuellen Pfades an und mit url die URL des entfernten Servers. Diese darf keine Zusätze mit CGI-Abfragen enthalten.
Hat beispielsweise der lokale Server die Adresse http://wibble.org/;
dann
ProxyPass /mirror/foo/ http://foo.com/
wird eine lokale Anforderung für <http://wibble.org/mirror/foo/bar>
intern in eine Proxy-Anforderung für <http://foo.com/bar>
umgewandelt.
Die (Verneinungs-) ! Direktive ist nützlich für Situationen, in denen man ein Einblenden für ein bestimmtes Unterverzeichnis ausschliessen will. Das folgende Beispiel
ProxyPass /mirror/foo/i !
ProxyPass /mirror/foo http://foo.com
lenkt alle Anfragen wie gehabt um mit Ausnahme derjenigen, die nach dem foo das Unterverzeichnis i angeben.
Wird ProxyPass innerhalb von <Location> eingesetzt,
muß das erste Argument, pfad, wegelassen werden, weil Apache
das lokale Verzeichnis aus <Location> ausliest.
Haben Sie das Proxy-Modul in den Apache eingebunden, lassen sich über
das Proxy-Flag von RewriteRule [P]
sehr vielseitige Konfigurationen erstellen, da die Nutzung des Proxy
transparent für den Client geschieht.
ProxyPassReverse Direktive
| Beschreibung: | Vom übergeordneten Webserver erzeugte selbst referenzierende HTTP-Redirekts werden auf den eigenen Hostnamen umgeschrieben |
|---|---|
| Syntax: | ProxyPassReverse [pfad] url |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Diese Direktive schreibt den eigenen Hostnamen in die URL in den Feldern
Location, Content-Location und URI
des Headers bei HTTP-Redirekts des übergeordneten Webservers.
Erst durch diese zu ProxyPass als Ergänzung dienende Funktionalität
läßt sich der Apache als Reverse-Proxy einsetzen. Der Begriff
bedeutet, daß die Seiten nicht vom eigenen Server stammen, sondern
von einem oder mehrern anderen Servern, die quasi hinter dem Reverse-Proxy
versteckt werden. Ein typisches Einsatzgebiet sind Datenserver hinter einer
Firewall.
Mit pfad geben Sie den Namen des lokalen virtuellen Pfades an
und mit url die URL des entfernten Servers - wie bei der ProxyPass-Direktive.
Beispiel:
Angenommen der lokale Server hat die Adresse http://my.antispam.de/;
dann wird im folgenden Beispiel
ProxyPass /misc/spamAbuse/ordb http://ordb.org/faq/
ProxyPassReverse /misc/spamAbuse/ordb http://ordb.org/faq/
nicht nur die lokale Anforderung für <http://my.antispam.de/misc/spamAbuse>
intern konvertiert in eine Proxy-Anforderung <http://ordb.org/faq>
(die Funktionalität von ProxyPass), es werden durch ProxyPassReverse
auch Redirekt-Headerzeilen (301, 302, 304) des Servers ordb.org behandelt. Wenn
die über den Proxy unter http://ordb.org/faq aufgerufenen
Seite einen Link auf http://ordb.org/dictionary enthält,
wird Apache diesen Link umwandeln in http://my.antispam.de/dictionary
in der HTTP-Redirekt-Antwort an den Client. Das heißt, daß dieses
Verzeichnis bei my.antispam.de existieren muß, damit es
keine "Not Found"-Meldung (404) gibt.
Bei Benutztung von ProxyPassReverse in
Verbindung mit dem RewriteRule-Flag [P]des Moduls mod_rewrite
ist keine korrespondierende ProxyPass-Direktive erforderlich.
Wird ProxyPassReverse innerhalb von <Location>
eingesetzt, wird das erste Argument, pfad, weggelassen und das lokale Verzeichnis
aus <Location>
ausgelesen.
ProxyPreserveHost Direktive
| Beschreibung: | Durchreichen des eingehenden Host HTTP-Header |
|---|---|
| Syntax: | ProxyPreserveHost on|off |
| Voreinstellung: | ProxyPreserveHost Off |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
| Kompatibilität | Verfügbar in Apache 2.0.31 und später. |
Wenn dieser Schalter gesetzt ist, wird die Zeile mit dem Host-Feld der eingehenden Anforderung zum übergeordneten Server unverändert durchgereicht.
Normalerweise wird man diese Direktive nicht benutzen.
ProxyReceiveBufferSize Direktive
| Beschreibung: | Größe des Netzwerkpuffers für ausgehende HTTP und FTP-Verbindungen |
|---|---|
| Syntax: | ProxyReceiveBufferSize bytes |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Mit der ProxyReceiveBufferSize-Direktive
kann die Netzwerkpuffergröße explizit für ausgehende HTTP
und FTP-Verbindungen angegeben werden. Als Größe wird der Wert
in Bytes angegeben, entweder größer als 512, oder er steht auf
0, um die Systemvoreinstellungen zu übernehmen.
Beispiel
ProxyReceiveBufferSize 2048
ProxyRemote Direktive
| Beschreibung: | Einen anderen Cache vorschalten |
|---|---|
| Syntax: | ProxyRemote match remote-server |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Mit dieser Direktive gibt man einen übergeordneten Cache an. Das Argument match ist entweder der Name eines vom vorgeschalteten Cache unterstützten URL-Schemas, oder eine partielle URL, bzw. ein '*' steht für alle Protokolle, mit denen Anforderungen an den anderen Cache weitergeleitet werden. Syntax:
remote-server = protocol://hostname[:port]
protocol ist das Protokoll, mittels dessen mit dem vorgeschalteten Cache kommuniziert werden soll; nur "http" wird vom Proxy-Modul unterstützt.
Beispiel:
ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
ProxyRemote * http://cleversite.com
ProxyRemote ftp http://ftpproxy.mydomain.com:8080
Hierbei wird der Proxy alle FTP-Anforderungen an den ftpproxy.mydomain als HTTP-Proxy-Request weiterleiten. Ist der Host nicht erreichbar, wickelt der Apache die Anfrage eigenständig ab.
Mit dieser Direktive kann man auch die Konfiguration eines Reverse Proxy aufbauen. Beispielsweise kann ein hinter einer Firewall agierender Applikationsserver in den Namensraum eines virtuellen Hosts eingebettet werden - selbst dann, wenn ein anderer Weiterleitungs-Proxy diesen verbirgt.
ProxyRemoteMatch Direktive
| Beschreibung: | Einen anderen Cache mittels eines Regulären Ausdrucks vorschalten |
|---|---|
| Syntax: | ProxyRemote regex remote-server |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
ProxyRemoteMatch ist identisch mit
der ProxyRemote-Direktive,
wobei das erste Argument einen Regulären Ausdruck enthält, mit
dem der übergeordnete Cache erreicht wird. Dadurch kann eine Lastverteilung
angestrebt werden.
ProxyRequests Direktive
| Beschreibung: | Schalter für das Aktivieren des Proxy-Moduls |
|---|---|
| Syntax: | ProxyRequests on|off |
| Voreinstellung: | ProxyRequests Off |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Damit wird das Proxy-Modul des Apache aktiviert, um als Forward Proxy
tätig zu werden. Bleibt der Schalter aus, ist keinesfalls die Möglichkeit
zur Konfiguration eines Reverse Proxy mit der ProxyPass-Direktive genommen; hier bleibt dieser
Schalter in der Regel aus.
Warnung: Schalten Sie ProxyRequests erst dann ein, wenn Sie Ihren
Server sicher gemacht haben. Öffentlich zugängliche
Proxyserver sind gefährlich für das dahinter liegende Netzwerk
und für das Internet im allgemeinen.
ProxyTimeout Direktive
| Beschreibung: | Netzwerk Timeout für Proxy-Anfragen |
|---|---|
| Syntax: | ProxyTimeout seconds |
| Voreinstellung: | ProxyTimeout 300 |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
| Kompatibilität | Verfügbar in Apache 2.0.31 und später |
Mit dieser Direktive kann die Voreinstellung von 300 Sekunden reduziert oder erhöht werden. Das ist insbesondre dann nützlich, wenn ein Applikationsserver gelegentlich "hängt" und man möchte den Client lieber rechtzeitig mit einer Timeout-Meldung versorgen als ihn in dieser Verbindung auf unbestimmte Zeit hängen zu lassen.
ProxyVia Direktive
| Beschreibung: | Generierung eines Via-HTTP-Header-Feldes |
|---|---|
| Syntax: | ProxyVia on|off|full|block |
| Voreinstellung: | ProxyVia off |
| Kontext: | server config, virtual host |
| Status: | Erweiterung |
| Modul: | mod_proxy |
Ein bereits in einer Anforderung vorhandener Via: HTTP-Header
wird vom Proxy weitergeleitet, jedoch wird ein eigener Eintrag erst generiert,
wenn der Schalter nicht aus ist. Damit kann man den Weg einer Anfrage entlang
einer Kette von Proxyservern verfolgen (siehe auch RFC2068, HTTP/1.1).
- Ist der Schalter auf on, wird jeder Anfrage und Antwort eine
Zeile mit dem
Via:Header hinzugefügt, die den eigenen Hostnamen enthält. - Ist der Schalter auf full, dann wird im
Via:Header zusätzlich zum Hostnamen die Serverversion imVia:-Kommentarfeld angezeigt. - Ist der Schalter auf block, dann werden alle bereits
vorhandenen
Via:Header in der Anfrage entfernt und kein neuer generiert.
0x0A98C210.asc
Description: application/pgp-keys
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
