The situation:
Two web servers situated inside of a firewall. The web servers have
multiple virtual hosts defined. mod_backhand seems to work just fine for
any regular old file request on any of the defined virtual servers.
However, when a request comes in for a URL that actually gets handled by a
mod_perl response handler, things break.
If mod_backhand decides to let the receiving web server handle the
request, things work right. However, when it decides to redirect to the
other server, I am getting a 400 error -- bad request. The fact that this
error gets thrown, however, doesn't stop Apache from handling the request
anyway, which leads to my mod_perl response handler doing its thing and
returning content.
The net result is that the browser receives a reponse that starts with
something like this:
HTTP/1.1 400 Bad Request
Date: Tue, 25 Apr 2000 07:52:23 GMT
Server: Apache/1.3.12 (Unix) balanced_by_mod_backhand/1.0.9pre1 PHP/3.0.16
mod_perl/1.22
Connection: close
Content-Type: text/plain
which is then followed by the expected content.
This only occurs on URL's which are handled exclusively by a mod_perl
response handler.
The other thing that I am noticing is that when using the backhand-test
script to test redirection, when redirection occurs, the address for the
host that it claims I have connected to is wrong. It returns the IP
address of _my_ machine, the one that is making the request, as the server
that handled the request. This, of course, is not correct.
Thoughts?
Kirk Haines
Two web servers situated inside of a firewall. The web servers have
multiple virtual hosts defined. mod_backhand seems to work just fine for
any regular old file request on any of the defined virtual servers.
However, when a request comes in for a URL that actually gets handled by a
mod_perl response handler, things break.
If mod_backhand decides to let the receiving web server handle the
request, things work right. However, when it decides to redirect to the
other server, I am getting a 400 error -- bad request. The fact that this
error gets thrown, however, doesn't stop Apache from handling the request
anyway, which leads to my mod_perl response handler doing its thing and
returning content.
The net result is that the browser receives a reponse that starts with
something like this:
HTTP/1.1 400 Bad Request
Date: Tue, 25 Apr 2000 07:52:23 GMT
Server: Apache/1.3.12 (Unix) balanced_by_mod_backhand/1.0.9pre1 PHP/3.0.16
mod_perl/1.22
Connection: close
Content-Type: text/plain
which is then followed by the expected content.
This only occurs on URL's which are handled exclusively by a mod_perl
response handler.
The other thing that I am noticing is that when using the backhand-test
script to test redirection, when redirection occurs, the address for the
host that it claims I have connected to is wrong. It returns the IP
address of _my_ machine, the one that is making the request, as the server
that handled the request. This, of course, is not correct.
Thoughts?
Kirk Haines