proxy_pass based on (possibly changed) $host
Dave Bailey
dave at daveb.net
Wed Jan 28 13:52:24 MSK 2009
Hi,
I am porting a lighttpd module that I wrote to nginx. I am new to
nginx. I would like to know if it is possible to choose the
proxy_pass backend from the Host header within a server. In lighttpd,
this is possible by:
$SERVER["socket"] == ":80" {
$HTTP["host"] == "bar.foo.com" {
proxy-core.backends = ( "10.0.0.1:80" )
}
$HTTP["host"] == "baz.foo.com" {
proxy-core.backends = ( "10.0.0.2:80" )
}
}
The module that I am porting to nginx will sometimes update the Host
header such that a different proxy backend should be chosen. For
example, a request from a particular IP address to http://bar.foo.com/
might be updated such that its Host header changes from bar.foo.com to
baz.foo.com, and thus it is served by the 10.0.0.2:80 backend. Is
there a way to specify a relationship between $host and proxy_pass in
nginx.conf within the same server { ... }?
-dave
More information about the nginx
mailing list