choosing backend based on header value

Harish Sundararaj tuxtoti at gmail.com
Mon Sep 3 22:56:23 UTC 2012


Hi All,

I have a requirement wherein I need to choose a backend based on the
value of a header sent by the client. But in all other cases where the
header is not set I would like to use the available upstream block
with whatever logic (wr/r) it is set to.

For eg:

upstream backend_boxes {
server 192.168.1.30:9001 weight=25;
server 192.168.1.45:9001 weight=75;
}

locatinon ~ ^/test {
proxy_pass http://backend_boxes;
}

But, say If X-Caching-Node is set to 192.168.1.50:9001 , I want the
/test request to go to 192.168.1.50:9001.

I guess that should be possible?

Thanks
Harish



More information about the nginx mailing list