我在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_app
。
如何通过调用http://localhost/node_app
以我可以访问应用的方式配置我的节点应用或nginx服务器,但应用本身认为它位于/
?< /强>
如果我向/
添加http://127.0.0.1:3000
,则实际上会将/node_app
与/
路由匹配。但现在,默认页面中的每个样式表现在指向错误的路径。
答案 0 :(得分: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;
}
}
获得的经验:请记住斜杠!