Apache Proxy

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache Proxy

Postby shylux » 06. December 2010 10:13

Hallo Leute

Ich habe einen Apache Proxy eingerichtet mit libapache2-mod-proxy-html nach dem ubuntuusers tutorial: http://wiki.ubuntuusers.de/Apache/modproxyhtml

Hier der teil aus meiner config:
Code: Select all
ProxyRequests Off
<Proxy *>
   Order deny,allow
   Allow from all
</Proxy>
ProxyPass /proxy/ http://192.168.202.19:80/
ProxyPassReverse /proxy/ http://192.168.202.19:80/


Wenn ich nun /proxy aufrufe funktioniert das. Wenn ich aber auf einen Link auf der Seite möchte wird der statt auf http://proxyserver/proxy/link.html in http://proxyserver/link.html umgeschrieben..

Nun, was habe ich falsch gemacht? :?
shylux
 
Posts: 4
Joined: 06. December 2010 10:05

Re: Apache Proxy

Postby Nobbie » 06. December 2010 16:24

shylux wrote:Nun, was habe ich falsch gemacht? :?


Gar nichts. Das ist eines, von vielen möglichen Problemen bei Reverse Proxys. Im konkreten Fall ist das Problem ein halbharter Link, nämlich statt

Code: Select all
<a href="link.html">


steht dort

Code: Select all
<a href="/link.html">


Dazu gibt es drei Lösungsansätze:

a) entweder den Link in dem entsprechenden Dokument ändern (das Dokument befindet sich auf dem Server http://192.168.202.19:80/) und den Slash wegmachen

b) oder (wenn man a) nicht machen kann) den Reverse Proxy erweitern um die Funktionalität, solche Links zu überschreiben resp. umzumodulieren, damit sie es tun, wie es notwendig ist. Dazu gibt es ein hervorragendes Tutorial im Internet unter http://www.apachetutor.org/admin/reverseproxies und Dein Problem wird dort unter dem Titel "Fixing HTML Links" behandelt.

c) oder Du definierst den Proxy nicht auf das Verzeichnis /proxy/ (das ist nämlich das eigentlich Grundübel, weil Damit das Verzeichnis /proxy/ dem Verzeichnis / auf dem Zielserver gleich gesetzt bzw. "gemapped" wird) sondern auf das Verzeichnis /

Code: Select all
ProxyPass / http://192.168.202.19:80/
ProxyPassReverse / http://192.168.202.19:80/


Dazu musst Du allerdings diesen ReverseProxy in einen VirtualHost packen, denn sonst gehen ja alle Request auf den Proxy, und Du willst ja nur bestimmte Anfragen weiterleiten. Bei Dir werden momentan eben die Anfragen auf http://www.deinedomain.de/proxy/ an den Rechner 192.168.20.19 weitergeleitet, stattdessen kann man das ja auch auf eine Subdomain (und damit VirtualHost) auslagern, also beispielsweise proxy.deinedomain.de/ (und dort aber auf das RootVerzeichnis).
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests