Tag: 节点 http proxy

在同一个域中托pipe两个Node.JS应用程序

我有两个节点的js应用程序,我运行在同一个盒子上,我希望它运行所有路由的第一个节点js应用程序,除了如果url是www.domain.com/blog去其他节点的js应用程序。 这甚至有可能与此设置或我必须设置子域名和使用nginx或东西?

为什么https.Agent在通过node-http-proxy进行代理时会抛出parsing错误?

我想通过http.Agent和https.Agent在我的node-http-proxy应用程序中启用连接池的使用。 为此,我build立了一个安全代理,如下所示: const secureAgent = new https.secureAgent({ keepAlive: true }); (为了简洁起见,我已经补充了互补的http代理。) 我创build一个代理服务器,如下所示: const proxy = httpProxy.createProxyServer({}); 最后,我在Connect中间件中代理请求,如下所示: proxy.web(req, res { agent: isSecure ? secureAgent : agent, target: …, secure: false, }); 这似乎适用于大多数请求,但每隔几分钟我会看到一个如下所示的错误: { "message": "Parse Error", "stack": "Error: Parse Error\n at TLSSocket.socketOnData (_http_client.js:411:20)\n at emitOne (events.js:96:13)\n at TLSSocket.emit (events.js:191:7)\n at readableAddChunk (_stream_readable.js:178:18)\n at TLSSocket.Readable.push (_stream_readable.js:136:10)\n […]

让Node-http-proxy与socket.io一起工作?

我正在尝试使用node-http-proxy将stream量引导到端口3000(我的rails服务器)和端口8888(我的nodejs socket.io服务器)。 我正在使用node-http-proxy作为坐在端口80上的反向代理。 (我几乎只是复制node-http-proxy的README) var proxy = new httpProxy.HttpProxy({ target: { host: 'localhost', port: CONFIG.RAILS_PORT, } }); var server = http.createServer(function(req, res) { // // Proxy normal HTTP requests // proxy.proxyRequest(req, res); }); server.on('upgrade', function(req, socket, head) { // // Proxy websocket request to another port // console.log('inside upgrade'); proxy.proxyWebSocketRequest(req, socket, head, { host: 'localhost', […]

在Docker容器中configurationhttp-proxy

我有以下代码,在我的本地环境中工作得很好。 但是,当我尝试从Docker容器(通过Boot2Docker)运行相同的代码时,我根本无法访问https:// [boot2docker_ip]:4000 我试着在下面的代码中用所有这些选项来更新目标值,但是没有一个似乎能够做到这一点: target: 'http://localhost:3000', target: 'http://0.0.0.0:3000', target: 'http://127.0.0.1:3000', target: 'http://<boot2docker_ip>:3000', var fs = require('fs'); require('http-proxy').createProxyServer({ ssl: { key: fs.readFileSync(__dirname + '/certs/ssl.key', 'utf8'), cert: fs.readFileSync(__dirname + '/certs/ssl.crt', 'utf8') }, target: 'http://localhost:3000', ws: true, xfwd: true }).listen(4000); 我使用https://github.com/nodejitsu/node-http-proxy中的node-http-proxy软件包 编辑 这里是一个Git回购试试这个行为; 为了简单起见,我检查了伪造的SSL。 Dockerfile: FROM readytalk/nodejs ADD ./src /app ADD ./ssl-proxy /proxy COPY ./run.sh /run.sh RUN chmod […]

如何使用节点http-proxy来代理根path

我正在尝试使用快速应用程序将代理设置为来自应用程序中特定path的根path: http://my-domain.com/some/route –> http://another-domain:8000/ 我已经尝试了多个HTTP代理文档的东西,但我一直打到path/路由的墙上。 我试图在一个login的快速应用程序内做到这一点,以便我可以利用我的身份validation背后的应用程序我试图代理了。 我一直得到代理的应用程序错误,说path'/一些/路线'没有定义…等。 var httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({}); proxy.proxyRequest(req, res, { host:'localhost', port:8000 }); 我也试过: var url = 'http://localhost:8000/'; var httpProxy = require('http-proxy'), proxy = httpProxy.createProxyServer({}); proxy.web(req,res, { target: url }, function(e) { console.log('proxy.web callback'); console.log(e); }); 函数调用,但我最终以一个明确的404错误… 如果可能的话,我还想传递一些variables,例如: http://my-domain.com/some/route?var1=something&var2=something –> http://another-domain:8000/?var1=something&var2=something 但无法弄清楚,如果这是可能的,我试图设置它的请求,因为这是被发送到proxyRequest,但无法find他们在第二个应用程序。

节点代理错误错误:连接ECONNREFUSED

我使用以下模块的逆向代理https://github.com/nodejitsu/node-http-proxy 我得到了以下代码错误 proxy.on('error', function (err, req, res) { res.end('Error occurr'+ err); }); 连接ECONNREFUSED这个错误是什么意思,什么可以解决呢? 我用 proxy = httpProxy.createProxyServer({}); proxy.web(req, res, { target: 'http://' + hostname + ':' + port }); proxy.on('error', function (err, req, res) { res.end('Error occurr'+ err); }); 我只需要将代理呼叫到新的端口

使用Node JS代理http并修改响应

我试图写一个前端到一个API服务与节点JS(与我是一个相对的初学者)。 我希望能够让用户将浏览器指向我的节点服务器并发出请求。 节点脚本会修改请求的input,调用api服务,然后修改输出并返回给用户。 我喜欢这里的解决scheme(使用Express JS和node-http-proxy),因为它通过我的站点直接从用户传递cookie和头到api服务器。 代理请求在node.js / express中 我看到如何修改请求的input,但我不知道如何修改响应。 有什么build议么?

在nightwatch.js中设置代理

我在Node.js应用程序中使用nightwatch.js编写集成testing。 对于特定的testing用例,我希望通过proxy连接夜间手表。 什么是正确的方法来做到这一点? 我从官方文档或Google集团找不到任何东西。 Selenium文档build议按照此处所述将其设置在webdriver实例上。 我不知道如何通过守夜做到这一点。

从代理服务器获取响应

我使用node-http-proxy模块在node.js中创build了一个代理服务器。 看起来像这样: var http = require('http'), httpProxy = require('http-proxy'), io = require("socket.io").listen(5555); var proxy = new httpProxy.RoutingProxy(); http.createServer(function (req, res) { proxy.proxyRequest(req, res, { host: 'localhost', port: 1338 }); }).listen(9000); 所以,我需要在将响应发送回客户端之前,从我代理和分析的服务器获取主体。 但是我找不到事件或属性,我可以从中获取这些数据。 我试过了: proxy.on('end', function (data) { console.log('end'); }); 但我无法想象我们如何从中获得哑剧的身体。

具有自定义Http代理和Connect.js中间件的Node.js代理

我已经在Node中放置了一个代理服务器,它需要能够通过tls传输https请求,而且所有的工作。 使用以下两个包,这是非常容易设置: 代理 , HTTPS代理代理 。 我的问题是,我试图捕获HAR文件使用连接作为中间件层,我得到以下错误: _http_outgoing.js:357 throw new Error('Can\'t set headers after they are sent.'); ^ Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:357:11) at ServerResponse.writeHead (_http_server.js:180:21) at ClientRequest.<anonymous> (/…/node_modules/proxy/proxy.js:233:11) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:473:21) at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23) at Socket.socketOnData (_http_client.js:362:20) at emitOne (events.js:96:13) […]