Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js http代理同一端口上的多个应用_Node.js_Http Proxy - Fatal编程技术网

Node.js http代理同一端口上的多个应用

Node.js http代理同一端口上的多个应用,node.js,http-proxy,Node.js,Http Proxy,我有两个在localhost上运行的nodejs应用程序。第一个是在端口8080上侦听,第二个是在端口8081上侦听,我希望有一个可以看到这些应用的单点 例如: http://localhost/app1 --> http://localhost:8080 http://localhost/app2 --> http://localhost:8081 看到了这可以通过httpproxy完成,但无法使其工作。我运行的每个示例都返回错误:必须提供正确的URL作为目标 我的代码是: va

我有两个在localhost上运行的nodejs应用程序。第一个是在端口8080上侦听,第二个是在端口8081上侦听,我希望有一个可以看到这些应用的单点

例如:

http://localhost/app1 --> http://localhost:8080
http://localhost/app2 --> http://localhost:8081
看到了这可以通过
httpproxy
完成,但无法使其工作。我运行的每个示例都返回
错误:必须提供正确的URL作为目标

我的代码是:

var http = require('http');
var httpProxy = require('http-proxy');

var options = {
    pathnameOnly: true,
    router: {
        '/app1': 'http://localhost:8080',
        '/app2': 'http://localhost:8081'
  }
};

var proxyServer = httpProxy.createServer(options);
proxyServer.listen(80);

可能缺少什么?

我在标准http代理包中找不到这些选项,但在这里可以找到一些东西:它有点符合规则,但css/js文件404将以这种方式返回,这将发生。应用程序不知道正在子文件夹中提供服务。您必须为应用程序配置基本URL,以便它们知道它们位于/app1和/app2中。在这里寻找这个问题的答案: