You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Marco Schinkel <ma...@familie-schinkel.net> on 2005/03/25 22:18:58 UTC

Bind mod_proxy to a specific ip address for outgoing requests

Hello,

we are using apache httpd 2.0.52 and the mod_proxy module in a two-tier
environment to serve several web-pages. We use a libpcap-based
traffic-analyzer to  find out which amount of data was transferred from
the mod_proxy webserver to the other servers (which run on the same host
on 127.0.0.1 port 8001-8287).

The traffic analyzer showed us, that 127.0.0.1 is used for the connection
to the backend webserver, which is a problem in this special case, because
we cannot differentiate between the connections safely .

google pinted me to the following solution, which unfortunately does not
work:
http://www.issociate.de/board/post/11285/how_to_bind_mod_proxy_to_a_specific_ip_address?.html

We applied the patch (which was originally done for 2.0.48) and recompiled
all mod_proxy modules. After loading the new modules and doing a simple
request which worked with the old modules, the following output was in the
error_log (LogLevel debug):

[Fri Mar 25 23:27:23 2005] [debug] worker.c(1631): AcceptMutex: sysvsem
(default: sysvsem)
[Fri Mar 25 23:27:40 2005] [debug] proxy_http.c(66): proxy: HTTP:
canonicalising URL //127.0.0.2:8000/
[Fri Mar 25 23:27:40 2005] [debug] mod_proxy.c(416): Trying to run
scheme_handler
[Fri Mar 25 23:27:40 2005] [debug] proxy_http.c(1049): proxy: HTTP:
serving URL http://127.0.0.2:8000/
[Fri Mar 25 23:27:40 2005] [debug] proxy_http.c(185): proxy: HTTP
connecting http://127.0.0.2:8000/ to 127.0.0.2:8000
[Fri Mar 25 23:27:40 2005] [notice] child pid 26676 exit signal
Segmentation fault (11)

I searched the source code of 2.0.48 for any differences which could lead
to incompatibility of the patch with new (2.0.52) httpd version, but could
not find any.

Can anyone please give me a hint to what has to be changed for making this
patch working again?


Thanks in advance,

Marco Schinkel
Neuss, Germany