Should it be possible to use a different proxy_pass statement under a
single
location using if statement?
I’ve tried using the following config but all traffic gets passed to the
‘primary’ upstream regardless of the value of $host.
upstream primary {
server x.x.x.x;
}
upstream secondary {
server x.x.x.x;
}
location / {
if ($host = ‘secondary.example.com’) {
proxy_pass http://secondary;
}
proxy_set_header Host $http_host;
proxy_pass http://primary;
}
Many thanks,
-Jake
Turns out my if statment just neede a “break;”…
.
if ($host = ‘secondary.example.com’) {
proxy_pass http://secondary;
break;
}
Thanks.
-Jake
On Mon, Aug 04, 2008 at 09:27:34AM -0400, J Davis wrote:
Turns out my if statment just neede a “break;”…
.
if ($host = ‘secondary.example.com’) {
proxy_pass http://secondary;
break;
}
Actually, you need two servers:
server {
server_name primary.example.com;
location / {
proxy_pass http://primary;
proxy_set_header Host $http_host;
}
}
server {
server_name secondary.example.com;
location / {
proxy_pass http://secondary;
proxy_set_header Host $http_host;
}
}