Hi Nick,

On 9 Jul 2011, at 11:16, Nick Kew wrote:
On 8 Jul 2011, at 17:29, Micha Lenk wrote:

I'm using Apache as a reverse proxy in a simple load balancer setup.
I use ProxyPassReverse in order to re-write the backend server name in HTTP 
redirections (ie. in the Location header of the HTTP response).
My configuration for the virtual host essentially looks like this:

<Proxy balancer://196f045aca6adc82a0b6eea93ed286a1>
        BalancerMember http://server-1.local status=-SE
        BalancerMember http://server-2.local status=-SE
</Proxy>

Is the absence of slashes after local there intentional?  You have a
slash in your ProxyPass[Reverse] directives.

Yes, the absence of slashes after local is intentional. If I added them, the double slash in the Location: header of a redirect response would indeed be gone, but it would in turn cause a double slash to be added to *every* backend request. In case of a thttpd as backend, this would cause the backend to refuse all requests entirely. :(

This seems to be different issue, but maybe I should try to fix this instead...

What I bother about is the additional slash before '/foo/', so
I  digged into the source code and found the following lines in
modules/proxy/proxy_util.c:

That's not easy to follow: your comments don't cross-reference to the code
until I've opened a lot more windows than I have screen space for.
A link to your bugzilla report would've helped, and your reference to
source is ambiguous - I guessed /trunk/.

Correct.

When digging in source for this kind of thing, the "annotate" feature of svn
is your best tool:
http://svn.eu.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?annotate=1138627
The lines you're unhappy about were introduced in r771587:
http://svn.eu.apache.org/viewvc?view=revision&revision=771587
which has quite an informative commit message.  Maybe that might help
to figure out the purpose?

Thank you for the hints. I will take a closer look on the diff once time permits. I should have done that before...

Cheers,
Micha

Reply via email to