首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >http-proxy模块中出错:必须提供正确的URL作为目标

http-proxy模块中出错:必须提供正确的URL作为目标
EN

Stack Overflow用户
提问于 2016-12-15 04:53:10
回答 1查看 2.4K关注 0票数 3

我是Node.JS的新手,在VPS上部署了第一个应用程序。在端口8000上运行后,我决定创建一个http-proxy,用于将每个域转发到其特定端口。我编写了一个小应用程序,如下所示:

代码语言:javascript
复制
var http = require('http'),
    httpProxy = require('http-proxy');

var option = {
    router : {
        'domain.com' : 'http://88.198.86.100:8000'
    }
};

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

88.198.86.100 is my server ip

所以,我的问题显示在这里,当我在我的浏览器PC (Google Chrome)中输入88.198.86.100时,我在服务器中的代理应用程序被传输,并给出了这个错误:

代码语言:javascript
复制
C:\Users\Administrator\Desktop\Nodejs\node_modules\http-proxy\lib\http-proxy\index.js:119
throw err;
^

Error: Must provide a proper URL as target
at ProxyServer.<anonymous> (C:\Users\Administrator\Desktop\Nodejs\node_modules\http-proxy\lib\http-proxy\index.js:68:35)
at Server.closure (C:\Users\Administrator\Desktop\Nodejs\node_modules\http-proxy\lib\http-proxy\index.js:125:43)
at emitTwo (events.js:106:13)
at Server.emit (events.js:191:7)
at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:546:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
error: Forever detected script exited with code: 1

我希望有人在每个浏览器中输入IP服务器,我的应用程序就不会崩溃。

EN

回答 1

Stack Overflow用户

发布于 2019-03-04 19:49:00

代码语言:javascript
复制
 //below code works for me

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

 var options = {
     'foo.com': 'http://foo.com:8001',
     'bar.com': 'http://bar.com:8002'
    }
    require('http').createServer(function(req, res) {
    proxy.web(req, res, {
          target: options[req.headers.host]
          });
    }).listen(80);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41151964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档