【发布时间】:2021-03-02 19:56:31
【问题描述】:
我有两个在 localhost:3000(前端)和 localhost:3001(后端)上运行的 react 应用程序。我想从同一个 server_name 为后端和前端提供服务。例如,如果用户点击 example.com,Nginx 应该将流量路由到在 (localhost:3000) 上运行的前端,如果用户点击 example.com/admin/登录流量应该被路由到后端(localhost:3001)。
'''
server {
listen 80;
server_name example.com;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://localhost:3001;
}
location /admin-login {
proxy_pass http://localhost:3000;
}
}
'''
使用上述配置。我在 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;
}
}
【问题讨论】:
-
不,先生,它没有回答我的问题。这与给定链接的不同。
标签: nginx nginx-reverse-proxy nginx-config