2009-10-15 11 views
5

Ich versuche, meinen Apache (Version 2.2.3) einzurichten, um als Reverse-Proxy zu arbeiten. I konfigurierte Apache auf öffentlichen Server, wie es auf http://www.askapache.com/htaccess/reverse-proxy-apache.htmlApache 2.2 Reverse Proxy funktioniert nicht

LoadModule proxy_module  modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule headers_module modules/mod_headers.so 
LoadFile /usr/lib/libxml2.so 
LoadModule proxy_html_module modules/mod_proxy_html.so 

ProxyRequests off 
ProxyPass /app1/ http://internal1.example.com/page1/ 
ProxyPassReverse /app1/ http://internal1.example.com/page1/ 
ProxyHTMLURLMap http://internal1.example.com/page1/ /app1/ 

 

internal1 ist, andere Server im lokalen Netzwerk beschrieben.

Homepage (www.example.com/app1/) wird korrekt angezeigt, aber das Problem tritt auf, wenn mein interner Server umgeleitet wird. In diesem Fall sucht mein Browser (Firefox 3.5.3 oder Internet Explorer 7) nach der Adresse im lokalen Netzwerk (internal1.example.com/page1/). Es scheint für mich, dass ProxyPassReverse Direktive von Apache ignoriert wird.

+0

Was passiert, wenn Sie die "page1 /" aus dem ProxyPassReverse löschen? (ProxyPassReverse/app1/http &58; //internal1.example.com/) –

+0

Danke für deine Antwort Lance, aber es hat nicht geholfen. Mein Browser versucht weiterhin, nach der Adresse im lokalen Netzwerk zu suchen. –

Antwort

4

Kurz vor ProxyPass diesen Parameter ProxyPreserveHost On

hinzufügen Dieser Rechner erhalten wird. (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypreservehost)