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

Amb*_*mps 4 routing nginx node.js

我运行我的节点应用程序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;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我http://localhost/node_app现在运行,我的节点应用程序会抛出一个错误,说它找不到路由/node_app.

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

更新

如果我添加/http://127.0.0.1:3000它实际上是匹配/node_app/路线.但现在,默认页面中的每个样式表现在指向错误的路径.

Amb*_*mps 9

经过一段时间的实验后,我终于得到了正确的配置,以确切地说我希望服务器如何工作:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

获得的经验教训:记住斜线!