Tag: 节点 http proxy

在请求用户应用程序之前发生错误

我使用node-http代理模块来运行具有正常工作的反向代理的应用程序,在某些情况下,用户希望立即运行应用程序(应用程序尚未启动),并且可能需要大约3- 15秒,直到应用程序启动并运行。 在这种情况下,用户将从代理中得到错误 proxy.web(req, res, { target: 'http://' + hostname + ':' + Port console.log("App————->Proxy App" ); }); proxy.on('proxyReq', function(proxyReq, req, res, options) { console.log("App————->Proxy Request" ); }); proxy.on('error', function (err, req, res) { console.log("App————->Proxy Error" ); res.end('Something went wrong'); }); // Listen for the `proxyRes` event on `proxy`. proxy.on('proxyRes', function (proxyRes, req, res) { […]

使用node-http-proxy转发每个请求

我试图设置一个节点HTTP代理只是转发请求。 最后,这个代理应该在通过浏览器访问的每个网站中注入javascript。 现在,大多数页面都被正确地转发和显示,但是一些例如posterkoenig.ch或者verkehrsclub.ch正在返回一个空白页面或者页面上有错误。 这两个网站运作良好,没有代理人的地方。 我必须改变什么,或者我错过了什么,不能正确转发? 我非常新Nodejs,甚至不完全确定,如果我的方法应该工作与否。 这是我到目前为止: var httpProxy = require('http-proxy'); var url = require('url'); httpProxy.createServer(function(req, res, proxy) { var urlObj = url.parse(req.url); proxy.proxyRequest(req, res, { host: urlObj.host, port: 80, changeOrigin: true, enable : { xforward: true } }); }).listen(9000, function () { console.log("Waiting for requests…"); }); 更新 正如@robertklepbuild议,我删除了changeOrigin并重新定义了req.headers.host和req.headers.url posterkoenig.ch : 现在抛出: An error has […]

用node-http-proxy重写响应头

我正在使用node-http-proxy,并且希望监视特定的响应头并在必要时重写它。 这里有人有这样的build议吗? 我的代理服务器位于几个不同的节点服务器以及一个java webapp之前。 java应用程序正在设置一个cookie,但是cookie有一个相对于webapp的上下文的path。 我需要cookie是安全的,并且有一个通向root的path,而不需要修改Java应用程序。 换句话说,下面的头文件被返回: set-cookie: MYSPECIALCOOKIE=679b6291-d1cc-47be; Path=/app; HttpOnly 我想重写Path值为: set-cookie: MYSPECIALCOOKIE=679b6291-d1cc-47be; Path=/; HttpOnly; Secure 我不清楚我将如何使用node-http-proxy来做到这一点。 build议? 有中间件来帮助吗?

代理节点请求到新的端口,并像逆向代理一样行事

我需要创build一个代理端口A到端口B请求的应用程序。例如,如果用户在端口3000上连接,他将被路由到(端口3001)端口,因此“原始”应用程序将运行在端口3001上但在客户端(浏览器)用户将把端口3000.不redirect… http://example.com:3000/foo/bar 一个新的服务器将被创build,监听端口3001,所有的呼叫实际上是端口3000与新的服务器和新的端口运行。 由于端口3000实际上是由我的反向代理应用程序占用? 我应该如何testing它… 有没有办法来testing这个来validation这是否正在工作,例如通过unit testing? 我发现这个模块https://github.com/nodejitsu/node-http-proxy可能会有帮助。

Node.js http-proxy会丢弃websocket请求

好吧,我已经花了一个多星期的时间来试图解决这个问题,所以如果有人有线索,你是一个英雄。 这不是一个容易回答的问题,除非我是一个笨蛋。 我正在使用node-http-proxy将粘性会话代理到运行在不同端口上的16个node.js worker。 我使用Socket.IO的Web套接字来处理一堆不同types的请求,并使用传统的请求。 当我通过node-http-proxy将服务器切换到代理服务器时,有时出现了一个新问题,我的Socket.IO会话无法build立连接。 我从字面上不能稳定地重现它的生活,唯一的方法就是把它从多个客户端扔到服务器很多的stream量。 如果我重新加载用户的浏览器,它有时可能会重新连接,有时甚至不能。 粘滞的会话 我必须代理粘性会话,因为我的应用程序在每个工作人员的基础上进行身份validation,所以它根据Connect.SID cookie(我正在使用connect / express)路由请求。 好的,一些代码 这是我的proxy.js文件,它运行在节点中并路由到每个worker: var http = require('http'); var httpProxy = require('http-proxy'); // What ports the proxy is routing to. var data = { proxyPort: 8888, currentPort: 8850, portStart: 8850, portEnd: 8865, }; // Just gives the next port number. nextPort = function() { […]