我正在尝试创建和表示将代理反向到多个应用程序的服务器。我遇到的问题是,当我转到其中一条路由时,该请求从未发送到服务器。以下是我正在做什么的一些代码片段:
let app = express();
app.use('/app2', express.static(__dirname + '/build', {
setHeaders: (res, req, path) => {
console.log(path);
metrics.httpRequestDurationMicroseconds // handles http_request_duration_ms Duration of HTTP requests in ms
.labels(req, path, res.statusCode)
.observe(10)
}
}));
当我转到localhost:5000/app2
时,它加载正常。这是我的代理服务器:
proxyApp.use('/app2', proxy('http://localhost:5000/app2' ) );
proxyApp.use('/', proxy('http://my-site.com/'));
我正在端口5001上运行它。当我转到localhost:5001
时,my-site.com将按预期加载。当我去localhost:5001/app2
时,什么也没收到,服务器上也看不到流量。
对于更多情况,我最初是在/
而不是/app2
处提供app2的,然后我就可以使代理服务器加载app2了。但是,当我将app2更改为在/app2
投放静态内容时,它开始崩溃。
任何人都对如何使这项工作或发生什么有任何想法?无论我输入什么内容,代理都似乎总是希望将请求发送到/
而不是/app2
。
我正在使用express-http-proxy:1.4.0和express:4.16.4
感谢您的帮助。