Hi Willy,

Since you're using HTTP, it's a real waste of simplicity and performance
to try to work in transparent mode. You'd better work in a normal proxy
mode and configure your web server to report the client's IP address in
the logs instead of relying on haproxy and your kernel to spoof the client.

The reason I'm pursuing this transparent route is that I haven't found a real clean patch for Apache that would report X-Forwarded-For also reliably to CGI's REMOTE_ADDR env-variable and to .htaccess deny/allow lines. So you wouldn't have to modify existing scripts / .htaccesses to know about the reverse proxy.

If there's a good patch for Apache 2.x that supports that I'd be more than happy to use that instead of this bit kludgy way.

If for any reason you absolutely want to do that anyway, here are two
possibilities :
1) use two different backends, one for local connections, and another one
    for external ones. The local one must not do transparent proxying :

I'll try this route.

Thanks Willy for the quick and insightful answer.

Cheers,
Toni Mattila

Reply via email to