Articles of 反向代理

如何更新运行的Node.js服务器?

据我所知,Node.js服务器基本上是一个JavaScript文件,由node可执行文件运行。 有没有可能在不停止请求处理的情况下更新这个文件? 我猜这个节点的可执行文件必须停止,所以我想我应该使用一个反向代理。 例如: 原始服务器版本侦听localhost:50001 代理服务器在webinterface:80上侦听请求,并将它们转发到localhost:50001 新的服务器版本应该在localhost:50002上启动 代理服务器转发目标应该更改为localhost:50002 原始的服务器版本应该停止 这是一个有效的方法吗? 如何在多台服务器上自动完成版本更新(可从同一个局域网访问)?

如何更新http呼叫的位置

即时通讯从以下链接使用反向代理,目前我正在获取一些位置,我想更新它(位置),我该怎么做? proxy.on('proxyRes', function (proxyRes, req, res) { res.headers.location = 'http:/a/b/' }); 我需要改变它,例如 res.headers.location ='http:/ c / d /'我将处理如何更改URL的逻辑,但我想知道如何更新它… https://github.com/nodejitsu/node-http-proxy

使用http-proxy向新端口发送代理请求

我使用这个代码我想要创build代理,所有的应用程序调用到端口3000将被路由到“端口”3002端口 var http = require('http'), httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer(); http.createServer(function (req, res) { proxy.web(req, res, { target: 'http://localhost:3002' }); }).listen(3000); // Create target server http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write('request successfully proxied to: ' + req.url + '\n' + JSON.stringify(req.headers, true, 2)); res.end(); }).listen(3002); 现在,当我运行与原始端口(3000)的应用程序,我在浏览器中看到 请求成功代理到3002 当我将端口(在浏览器中)更改为3002时,我仍然收到相同的消息,为什么? 可以吗? […]

Nodejs反向代理性能

我正在研究使用Node作为反向代理的可能性。 我的项目的主要目标之一是它是非常高的性能。 所以我已经设置了一个节点服务器来代理请求到目标节点服务器,无论请求会以“hello world”响应。 使用Apache Bench我已经对每秒处理的请求数做了一些比较。 代理,目标和调用者分别位于AWS的单独M1大型实例中。 我的结果令人沮丧和困惑。 直接从调用者到目标: ab -c 100 -n 10000 http://target-instance/ =〜2600个请求/秒 从调用者通过代理到目标 ab -c 100 -n 10000 http://proxy-instance/ =〜1100个请求/秒 使用lighttpd,我能够在代理和目标上获得约3500次/秒的请求 我对代理服务器性能不如目标服务器感到失望。 当比较像lighttpd这样的其他产品时,我已经看到代理实现了与目标相当的结果,所以我很困惑Node(应该快速减轻)何时达不到。 这里是我在Node v0.5.9中的代理代码:我错过了什么吗? var server = http.createServer(function(req, res){ var opts = { host: 'target-instance', port: 80, path: '/', method: 'GET'}; var proxyRequest = http.get(opts, function(response){ response.on('data', function(chunk){ res.write(chunk); }); […]

在带有apache的服务器上使用socket.io和nodejs作为反向代理

我正试图使用​​Node.js和Socket.IO在浏览器和客户端之间进行消息传递,遵循指南 。 但是,我不得不在Apache后面设置反向代理。 所以,而不是example.com:8080节点,我使用example.com/nodejs/。 这似乎会导致Socket.IO失去它自己的意义。 这是我的节点应用程序 var io = require('socket.io').listen(8080); // this has to be here, otherwise the client tries to // send events to example.com/socket.io instead of example.com/nodejs/socket.io io.set( 'resource', '/nodejs/socket.io' ); io.sockets.on('connection', function (socket) { socket.emit('bar', { one: '1'}); socket.on('foo', function( data ) { console.log( data ); }); }); 这是我的客户端文件的样子 <!DOCTYPE html> <html> […]

反向代理是否使node.js安全?

我想将node.js放在云中,以获取具有敏感公司信息的应用程序。 恐怕node.js不像一些较旧的服务器那么安全,因为它并没有被大量使用。 我看到有人build议使用反向代理来使它更安全。 我了解它是如何安全的,因为它不直接暴露于世界。 但是,xss和其他攻击仍然是可能的。 仅从安全的angular度来看,任何人都认为node.js与旧的服务器是一致的? 关于“如何说服老板+公司安全团队”的提示?

应提供反向代理标题

我使用节点应用程序中以下模块的revese代理 https://github.com/nodejitsu/node-http-proxy 我的问题是,我是否需要修改标题反向代理的状态像标准工作? http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

并行运行多个node.js实例

我正在考虑使用反向代理将API请求分发给REST API的多个node.js实例。 像这样,应该可以实现更好的整体性能,因为多处理器系统可以在一个内核上(或类似的)上完美地运行多个实例。 请求分发到多个节点实例的常见解决scheme是什么?需要考虑的重点是什么?

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

我需要创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可能会有帮助。

最简单的可能的反向代理

我正在寻找一种方法来简单地设置本地连接到远程站点的代理。 我不想在系统中安装任何东西。 如果我可以用一个命令行调用而不是用一个单独的configuration文件来调用它,那就太棒了。 其目的是嗅探我正在开发的本地应用程序与其他人正在提供的使用HTTPS的远程服务器之间的stream量。 最好是一个Ruby,Python或者Node包,这样我可以按照下面的方式做一些事情: mkdir simplest-proxy; cd simplest-proxy; bundle init echo "gem 'simplest-proxy'" >> Gemfile; bundle –path vendor/bundle bundle exec bin/simplest-proxy -p 8080 https://remote.site.example.com/ 要么 virtualenv simplest-proxy; cd simplest-proxy bin/easy_install simplest-proxy bin/simplest-proxy -p 8080 https://remote.site.example.com/ 要么 mkdir simplest-proxy; cd simplest-proxy npm install simplest-proxy node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/ 这将允许我的应用程序连接到localhost:8080 ,这将转发请求(并重写Host头和其他任何必要的)到远程站点。 我可以在WireShark中观看,看看发生了什么。 我已经在pypi,rubygems和npm中快速浏览了一下,但是到目前为止我发现的是不工作( proxylet ,否则看起来非常有希望),意图用于更复杂的场景,并需要设置( dj-revproxy […]