Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am working on an apache2 reverse proxy vhost. When the server behind apache is down, the first request to apache shows the error page of course.

But at subsequent requests it seems apache delays for some time before asking the backend server again. During all this time (which is short but in development I don't want a delay at all) only the apache error page is shown to the browser, although the backend server is already up.

Where is this setting in apache, what is this behaviour, and how can I set the delay time to zero?

Edit: I am not trying to change the timeout for a single request. I want to change the blocking time. It is my experience that apache blocks further requests for a certain time before asking a backend server again that has failed once.

Edit2: This is what apache delivers:

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch proxy_html/3.0.0 Server at localhost Port 80

After hitting Ctrl-R in firefox for 60 seconds the page finally appears.

share|improve this question

2 Answers 2

up vote 4 down vote accepted

A bit late answer, but sending it in for refernce

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

The key setting is timeout value. Default is 60 seconds, can be set to 0 for always retry.

ProxyPass /path http_//server/ retry=0

share|improve this answer
    
it is not too late, still needing this. i am happy to get the answer –  user12096 May 21 '10 at 21:10

On RP configuration what is the value of ProxyTimeout config option? If it is not set, it failbacks to Timeout value.

You won't be able to have a "null" TO (even if it is unnoticeable, Apache tries to connect to backend and it takes time), but setting this value to 1 second may be acceptable.

share|improve this answer
    
Thank you very much for your answer. Sorry, I maybe did not explain the question very well. This seems not what I am looking for. What you describe is the timput for a single request form apache to the backend. What happens, is if this failed one time, apache won't ask the backend for a page again until a certain amount of time has passed. This is not a timeout, it could be described as a "blocking" time. –  user12096 Sep 25 '09 at 12:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.