Node.js 如何在nginx上为react应用程序设置代理权限?

Node.js 如何在nginx上为react应用程序设置代理权限?,node.js,reactjs,nginx,nginx-reverse-proxy,Node.js,Reactjs,Nginx,Nginx Reverse Proxy,我的react应用程序有不同的路径来使用不同的功能 e、 十, 等等 我想在生产环境中的nginx中配置react应用程序路由。到目前为止,我在生产环境的nginx配置中实际做的是 server_name api.vesta-project.net; location /vqcc { proxy_pass http://localhost:3000/; } 我这里的问题是当前的设置,当我说“api.vesta project.net/vqcc”时,主页运行良好。然而,当我单击导航到

我的react应用程序有不同的路径来使用不同的功能

e、 十,

等等

我想在生产环境中的nginx中配置react应用程序路由。到目前为止,我在生产环境的nginx配置中实际做的是

server_name api.vesta-project.net;

location /vqcc {
    proxy_pass http://localhost:3000/;
} 
我这里的问题是当前的设置,当我说“
api.vesta project.net/vqcc
”时,主页运行良好。然而,当我单击导航到
/Dashboard
的按钮时。我得到了
404错误
,因为它没有在react应用程序内部的路径中附加“vqcc”,因此在检查请求时,它就像
api.vesta project.net/Dashboard
“根据nginx conf检查错误的请求。因此,每当客户端发出请求时,我需要一个解决方案,它应该附加”
vqcc
“指向路径,使其成为符合nginx路由的有效url

e、 x当客户请求api.vesta project.net/Dashboard时,它应该是

api.vesta-project.net/vqcc/Dashboard

如果我可以在nginx或package.json上处理此问题,而无需在react应用程序内部更改任何路由,请帮助我

您可以尝试在catch all位置重写uri

location / {
    rewrite /(.*) /vqcc/$1;
}

location /vqcc{
    proxy_pass http://localhost:3000/;
}

您可以尝试在catch-all位置重写uri

location / {
    rewrite /(.*) /vqcc/$1;
}

location /vqcc{
    proxy_pass http://localhost:3000/;
}

感谢共享@Chang,但问题是我无法重新写入基uri('/'),因为它已被运行在同一环境中的另一个服务使用。感谢共享@Chang,但问题是我无法重新写入基uri('/'),因为它已被运行在同一环境中的另一个服务使用。