Proxy_pass by the accept header?

Hi all!
I want to proxy_pass depending on the value of the accept header. I have
lots of locations and I wanted to add in a single place a validation
that
if accept header is 'text/html" it should proxy_pass to some specific
upstream. Else, just go ahead and try to match a location.

Is that possible?

Thanks!

Jonathan

On 19 Jan 2012 14h44 WET, [email protected] wrote:

Hi all! I want to proxy_pass depending on the value of the accept
header. I have lots of locations and I wanted to add in a single
place a validation that if accept header is 'text/html" it should
proxy_pass to some specific upstream. Else, just go ahead and try to
match a location.

Is that possible?

Perhaps something like:

http level

map $http_accept $my_upstream {
default misc_upstream;
~text/html html_upstream;

}

upstream misc_upstream {
server 127.0.0.1:8080;
}

upstream html_upstream {
server 127.0.0.1:8088;
}

server level

location / {
#… your stuff
proxy_pass http://$my_upstream;
}

— appa

this is a great solution!
thanks so much!