我正在使用Catalyst来构建我正在构建的网络应用,但它无法正常重定向。它可以使用http://www.domain.com/
这样的域重定向,但是如果我有像http://beta.domain.com/
这样的子域,则它不会正确重定向。例如:
$c->res->redirect('http://beta.domain.com/account');
将重定向到:
http://beta.domain.com/.domain.com/account
这是我做错了,还是Catalyst
有问题?最奇怪的部分是,每当我使用不是子域的域时,我都没有这种行为。有谁知道这个问题是什么,或者之前有人遇到过这个问题?谢谢!
更新
我现在认为这是nginx
的问题。我使用nginx
作为负载均衡器,并通过它将请求传递给我的Catalyst
应用。每当我直接访问Catalyst
应用时,都没有问题。因此,在我的nginx配置中,必须有一些我正在做错的事情是搞砸了重定向。这是我的nginx
配置:
server {
listen 80;
server_name beta.*;
location / {
proxy_set_header Host $host;
proxy_pass http://beta; #beta1
proxy_redirect http://beta http://$host/; #CHANGE ME
proxy_set_header X-Forwarded-For $remote_addr;
}
}
是否有人发现此问题或有任何想法?