You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Adam Woodworth <mi...@gmail.com> on 2008/09/18 18:17:35 UTC

How to tell when mod_proxy backend request timed out?

I'm using mod_perl 2.0.3 with Apache 2.2.9 and mod_proxy for reverse
proxying.  Is there a way, from my mod_perl application, that I can
tell when the connection to the backend server in mod_proxy timed out?
 I.e., mod_proxy made a connection to the backend, but the backend
didn't respond in the configured number of timeout seconds?

I know that there's the Apache2::RequestRec::request_time variable,
and I can do the simple math to figure out how long ago the request
started, but since mod_proxy does actually know when a timeout
happens, does mod_proxy bubble that info up into something that is
exposed by the mod_perl API anywhere?  It would be nice to just have
simple access to an error code, to know whether it was a timeout or
just an aborted connection.

Thanks,
Adam

Re: How to tell when mod_proxy backend request timed out?

Posted by Fred Moyer <fr...@redhotpenguin.com>.
Adam Woodworth wrote:
> I'm using mod_perl 2.0.3 with Apache 2.2.9 and mod_proxy for reverse
> proxying.  Is there a way, from my mod_perl application, that I can
> tell when the connection to the backend server in mod_proxy timed out?
>  I.e., mod_proxy made a connection to the backend, but the backend
> didn't respond in the configured number of timeout seconds?
> 
> I know that there's the Apache2::RequestRec::request_time variable,
> and I can do the simple math to figure out how long ago the request
> started, but since mod_proxy does actually know when a timeout
> happens, does mod_proxy bubble that info up into something that is
> exposed by the mod_perl API anywhere?  It would be nice to just have
> simple access to an error code, to know whether it was a timeout or
> just an aborted connection.

I'm not sure if I completely understand your scenario - do you have 
mod_proxy enabled apache reverse proxying to mod_perl?  If so, you can 
use $r->connection->aborted to determine if the connection is invalid.

http://perl.apache.org/docs/2.0/api/Apache2/Connection.html#C_aborted_

Re: How to tell when mod_proxy backend request timed out?

Posted by Perrin Harkins <pe...@elem.com>.
On Thu, Sep 18, 2008 at 12:17 PM, Adam Woodworth <mi...@gmail.com> wrote:
> I'm using mod_perl 2.0.3 with Apache 2.2.9 and mod_proxy for reverse
> proxying.  Is there a way, from my mod_perl application, that I can
> tell when the connection to the backend server in mod_proxy timed out?
>  I.e., mod_proxy made a connection to the backend, but the backend
> didn't respond in the configured number of timeout seconds?

I hope you don't mean that you have mod_perl compiled into your
reverse proxy.  It should only be in the backend.

I think that mod_proxy delivers a specific error message and status
when it times out, so you can probably use ErrorDocument to specify a
custom page for that.

- Perrin