Nginx前端和后端反向代理

Nginx前端和后端反向代理,nginx,nginx-reverse-proxy,nginx-config,Nginx,Nginx Reverse Proxy,Nginx Config,我有两个react应用程序在localhost:3000(前端)和localhost:3001(后端)上运行。我想从相同的服务器名称为后端和前端提供服务。。例如,如果用户点击example.com,Nginx应将流量路由到运行在上的前端(localhost:3000),如果用户点击example.com/admin/login,则流量应路由到后端(localhost:3001) ''' ''' 使用上述配置。我在example.com上运行了前端。然而,当我调用example.com/admin

我有两个react应用程序在localhost:3000(前端)和localhost:3001(后端)上运行。我想从相同的服务器名称为后端和前端提供服务。。例如,如果用户点击example.com,Nginx应将流量路由到运行在上的前端(localhost:3000),如果用户点击example.com/admin/login,则流量应路由到后端(localhost:3001)

'''

'''

使用上述配置。我在example.com上运行了前端。然而,当我调用example.com/admin/login时,我将被重定向到在前端(localhost:3000)上运行的应用程序,而不是在后端(localhost:3001)上运行的应用程序

根据下面给出的答案进行更新。我有以下配置。它仍然有相同的行为

server {
  listen 80;
  server_name example.com;

  location /admin-login {
    proxy_pass http://127.0.0.1:3000/admin-login;
  }
 
  location / {
    proxy_pass http://127.0.0.1:3001;
  }
 
  location /home {
    proxy_pass http://127.0.0.1:3001/home;
  }

  location /login {
    proxy_pass http://127.0.0.1:3001/login;
  }

   location /signup {
     proxy_pass http://127.0.0.1:3001/signup;
  }

   location /article {
     proxy_pass http://127.0.0.1:3001/article;
   }

}

我认为这里的问题是

location / {
  proxy_pass http://localhost:300
}
匹配所有查询,因此也会将任何内容重定向到
/admin login

您可以重新排列块,使配置文件中的
/
块上方有
管理员登录
块,或者在下面进行调整:

location = / {
  proxy_pass http://localhost:300
}
此调整块应仅将查询重定向到
/
,而不是
/*


如果您想阅读更多内容,请参阅此处的文档-

这是否回答了您的问题?不,先生,这不能回答我的问题。这与给定链接不同。
location = / {
  proxy_pass http://localhost:300
}