使用Nginx和路由将端口转发到Node.js应用程序

使用Nginx和路由将端口转发到Node.js应用程序,node.js,nginx,routing,Node.js,Nginx,Routing,我在localhost:3000上运行我的节点应用程序,它为路由/提供默认页面。如果我访问http://localhost:3000相应地显示默认页面。我还运行了一个Nginx服务器,基本配置如下: server { listen 80; server_name localhost; location /node_app { proxy_pass http://127.0.0.1:3000; proxy_set_heade

我在
localhost:3000
上运行我的节点应用程序,它为路由
/
提供默认页面。如果我访问
http://localhost:3000
相应地显示默认页面。我还运行了一个Nginx服务器,基本配置如下:

server {
    listen       80;
    server_name  localhost;

    location /node_app {
        proxy_pass  http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
如果我运行
http://localhost/node_app
现在,我的节点应用程序抛出一个错误,表示它找不到路由
/node\u app

如何配置我的节点应用程序或nginx服务器,以便通过调用
http://localhost/node_app
,但应用程序本身认为它在
/

更新
如果我将
/
添加到
http://127.0.0.1:3000
它实际上是将
/node\u app
/
路线相匹配。但是现在默认页面中的每个样式表都指向错误的路径

经过一段时间的试验,我终于找到了正确的配置,使服务器能够正常工作:

server {
    location /node_app/ {
        proxy_pass  http://localhost:3000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

吸取的教训:记住斜杠

对我不起作用。我仍然收到react应用程序错误:/