【发布时间】:2015-12-03 03:50:54
【问题描述】:
场景
我有一个 php 应用程序。这个应用程序在abc.com 上运行。它使用 nginx 服务器。
现在我创建了一个新应用程序,一个 NodeJS express 应用程序。这个我需要部署在abc.com/nodeApp(不是abc.com/nodeApp/)
我做了什么
在abc.com的nginx配置中,我写了一个配置来代理到Node服务器的流量。这是 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 上的流量。
我怎样才能让服务器有一个基本的网址。这是我的 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);
});
【问题讨论】:
标签: node.js express nginx proxy