我想重定向来自:
的流量 http://demo.foo.com/a.png
to http://demo.bar.com/a.png
有一点需要注意,foo.com
和bar.com
都是同一个框。因此,我需要指定仅针对foo.com
流量进行重定向,以避免bar.com
流量上的重定向循环。
我试过了:
server {
server_name demo.foo.com;
return 301 $scheme://demo.bar.com$request_uri;
}
等待一分钟才能生效......这看起来很有希望:
curl -I http://demo.foo.com
301出现了预期。但是,有两个问题:
1)正在运行curl -I http://demo.bar.com
并返回301重定向到demo.bar.com
(因此我的server_name过滤器无法正常工作)
2)再过几分钟(~2-3)后,两个curl命令都停止工作,并返回503 Unavailable消息(这可能是由于#1引起的重定向循环)
答案 0 :(得分:1)
我们正在使用这样的构建:
server {
...
server_name demo.foo.com demo.bar.com;
if ($http_host = "demo.foo.com") {
rewrite ^ http://demo.bar.com:$server_port$request_uri permanent;
}
...
}