首页 > 解决方案 > 节点 express-http-proxy 未将请求路由到服务器

问题描述

我正在尝试创建和表达将代理反向到多个应用程序的服务器。我遇到的是,当我转到其中一条路由时,请求永远不会到达服务器。以下是我正在做的一些代码片段:

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:5001my-site.com 时,按预期加载。当我去的时候,localhost:5001/app2我什么也没得到,我在服务器上看不到任何流量。

对于更多的上下文,我最初使用的是 app2/而不是,/app2然后我能够让我的代理服务器加载 app2。但是,当我更改 app2 以提供静态内容时,/app2它开始出现问题。

任何人对如何使这项工作或发生了什么有任何想法?看起来代理想要总是发送请求/而不是/app2不管我输入什么。

我正在使用 express-http-proxy:1.4.0 和 express:4.16.4

任何帮助表示赞赏。

标签: node.jsexpressreverse-proxy

解决方案


推荐阅读