我在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,我的节点应用程序会抛出一个错误,说它无法找到route / node_app.
如何以我可以通过调用http:// localhost / node_app来访问应用程序的方式配置我的节点应用程序或nginx服务器,但应用程序本身认为它位于/?
更新
如果我添加/到http://127.0.0.1:3000它实际上匹配/ node_app到/ route.但现在,默认页面中的每个样式表现在指向错误的路径.
解决方法:
经过一段时间的实验后,我终于得到了正确的配置,以确切地说我希望服务器如何工作:
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;
}
}
获得的经验教训:记住斜线!