Redirect 为什么nginx proxy_传递到子目录不起作用?

Redirect 为什么nginx proxy_传递到子目录不起作用?,redirect,nginx,proxypass,Redirect,Nginx,Proxypass,我正在尝试将代理传递到子目录http://ms.server.com:8085/ms。所以每当有人点击http://ms.example.com'应该重定向到`。我正试图通过下面的配置来做到这一点 upstream example { server ms.server.com:8085; } server { server_name ms.example.com; location / { proxy_pass http://example/m

我正在尝试将代理传递到子目录
http://ms.server.com:8085/ms
。所以每当有人点击
http://ms.example.com'应该重定向到
`。我正试图通过下面的配置来做到这一点

upstream example {
  server ms.server.com:8085;
}

server {
    server_name     ms.example.com;
    location / {
      proxy_pass      http://example/ms;
    }
  }

现在我重定向到“Nginx测试页面”

proxy\u pass
用于通知Nginx在主机级别向何处发送代理请求,而不考虑URI

您想要使用的是
return
语句,如下所示:

upstream example {
   server ms.server.com:8085;
}

server {
    server_name     ms.example.com;

    location = / {
        return 301 http://ms.example.com/ms;
    }

    location / {
        proxy_pass      http://example;
    }
}
这将把请求重定向到
服务器名称的根URL
http://ms.example.com
使用
301
重定向,所有其他流量将通过定义的上游