我有一个php应用程序。此应用运行在abc.com
上。它使用nginx服务器。
现在我创建了一个新应用程序,一个NodeJS快速应用程序。这个我需要部署在abc.com/nodeApp
(不是abc.com/nodeApp/
)
在abc.com
的nginx配置中,我编写了一个配置来代理节点服务器的流量。这是nginx配置。
location = /nodeApp {
proxy_pass http://$nodeApp;
include proxy_params;
}
location /nodeApp/ {
# remove all trailing slash
rewrite ^/(.*)/$ /$1 permanent;
proxy_pass http://$nodeApp;
include proxy_params;
}
现在,在点击abc.com/nodeApp
时,它会将我带到nodeJs服务器。但服务器正在给予
CANNOT GET /nodeApp
因此,nodeJs服务器期望/
上的流量而不是/nodeApp
上的流量。
如何使服务器具有基本URL。这是我的nodeJs文件。
var express = require("express");
var app = express();
var config = require('./config/config');
app.use(express.static(__dirname + '/build'));
var port = process.env.PORT || config.serverPort;
app.listen(port, function() {
console.log("Listening on " + port);
});
答案 0 :(得分:0)
通过向/
指令添加尾随proxy_path
,您可以将/nodeapp
映射到/
上游。
location = /nodeApp {
proxy_pass http://$nodeApp/;
include proxy_params;
}
有关详细信息,请参阅this document。