Take the 2-minute tour ×

what reverse proxy server will direct traffic to healthy servers whose health is based on a result string??

ideally i'd like something like dnsmadeeasy or ultradns - lol - but for reverse proxy

i have looked at pound, delegate, ha proxy, squid, varnish, nginx, apache, and cherokee but can't see that they will work - they only test for HTTP result code


client request www.aaa.com

www.aaa.com is a reverse proxy

reverse proxy looks at "test.php" on server 1.aaa.com, 2.aaa.com and 3.aaa.com for result string "OK"

if the server is "OK" then proxy requests to them


share|improve this question
Why wouldn't you just have them return an error code that indicates a server problem (like 500) if they're not ok, which can indicate to the proxy to use a different node? The extra health check request seems like unnecessary overhead. –  Shane Madden Jun 8 '12 at 3:41
how do you get the proxy server to test a file? the http server running on the node is up - but a database is down. can these proxy servers test host.aaa.com/status.php - where status.php is <php if(some test fails) header("HTTP/1.0 500 database down") else header("HTTP/1.0 200 database ok")?> –  joshua paul Jun 8 '12 at 4:13

1 Answer 1

up vote 1 down vote accepted

I think you will find that Vanish can do this

It can do Load Balancing so based on this it should be able to do what you are after, I am sure Squid could do it but Vanish is a better reverse proxy in my view

Hope this helps.

share|improve this answer
yes - Varnish Backend Polling How to configure polling ¶ Polling is configured by adding a {{.probe}} member to the backend definition in VCL, for instance: backend b0 { .host = "phk.freebsd.dk"; .probe = { .url = "/probe.cgi"; .timeout = 34 ms; .interval = 1s; .window = 10; .threshold = 8; } } –  joshua paul Jun 8 '12 at 4:16

Your Answer


