您好我是Nginx的新手,我似乎无法找到任何合适的资源来帮助我。
我的代码
location / {
set $foobar http://test.com;
if ($request_uri = "test") {
set $foobar http://example.com;
return 200 $foobar;
break;
}
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass $foobar;
proxy_redirect off;
}
我想要推断的是,如果网址为http://mydomain.ca/test
以显示http://example.com
,如果不是,则默认为http://test.com
。
但是,我可能首先得到一些语法错误,因为我得到的只是错误502.
答案 0 :(得分:0)
我不了解您的配置文件,因此无需使用if
和set
。以下可能更好:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
location /test/ {
proxy_pass http://test.com;
}
proxy_pass http://example.com;
}
但是, 502 Bad Gateway 错误通常意味着您的服务器无法找到远程服务器,可能是由于DNS,路由,防火墙或端口问题。