Tugger the SLUGger!SLUG Mailing List Archives

[SLUG] Apache reverse proxy not rewriting location header


Any Apache aficionados on the list?

I have configured apache2 with a reverse proxy to some internal
web servers, also running apache2.

Example:

<VirtualHost *:80>
        ServerName something.whatever.net.au
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/
        <Proxy *>
                Order allow,deny
                allow from all
        </Proxy>
        ProxyPass / http://10.11.12.3:80/
        ProxyPassReverse / http://10.11.12.3:80/
</VirtualHost>

Trouble is, when host 10.11.12.3 replies with a Location: header,
e.g.

Location: http://10.11.12.3/test/perl-redirected.html

the reverse proxy does not rewrite the header. I would expect the
above header to reach the client in the following form:

Location: http://something.whatever.net.au/test/perl-redirected.html

The Apache docs here <http://httpd.apache.org/docs/2.2/mod/mod_proxy.html>
indicate that

  "This directive lets Apache adjust the URL in the Location,
   Content-Location and URI headers on HTTP redirect responses.
   This is essential when Apache is used as a reverse proxy to
   avoid by-passing the reverse proxy because of HTTP redirects
   on the backend servers which stay behind the reverse proxy."

I'm stumped!

Note that other than the above problem, the reverse proxy is working
very well. I am using it to manage three different apaches inside the
10.* network.


cheers
rickw



--
_________________________________
Rick Welykochy || Praxis Services

Klingon function calls do not have parameters, they have 'arguments'
and they ALWAYS win them.