Tag: 代理

如何使用节点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); }); 我只需要将代理呼叫到新的端口

节点http代理SSL透明

在我的设置中,我有2层透明代理。 当一个客户端发出一个SSL请求时,我希望它所遇到的第一个代理只需将stream量转发给另一个,而不用试图与客户端握手。 设置似乎很有趣,但在我的情况下是合理的 – 第二个代理注册自己的第一个(通过一些其他服务)只偶尔。 它告诉第一个:“我感兴趣的是看起来像_ _ _的一些stream量”。 在大多数情况下,第一个代理人只是做这个工作。 一个httpProxy(在节点代理)代理SSL请求? 我必须使用一个httpsProxy(然后将与客户端握手)?

Node.js – 具有WebSocket代理和SSL支持的良好WebServer?

我真的很喜欢node.js,但是当你想要运行多个websocket服务器并且通过端口80访问它们时,这真的很复杂。 我目前正在运行nginx,但代理传入websocket连接到不同的websocket服务器取决于url是不可能的,因为nginx不支持http 1.1。 我试图实现一个具有我自己的function的networking服务器,但它涉及到头传递等是非常复杂的。另一件事是SSL支持。 支持它并不容易。 那么,有没有人知道一个很好的解决办法做我提到的事情? 谢谢你的帮助!

node-http-proxy websocket代理和中间件

我想反向代理使用websockets的现有应用程序,但使用应用程序中间件在应用程序前面实现授权层。 节点http代理广告这两个function,但我似乎无法结合起来。 反向代理websockets工作正常: var httpProxy = require('http-proxy'); httpProxy.createProxyServer({ target: 'http://127.0.0.1:8888', // where do we want to proxy to? ws : true // proxy websockets as well }).listen(3000); 当我看一下中间件的例子 ,他们似乎都使用连接的服务器,并在那一点上的websocket支持似乎消失。 例如。 var httpProxy = require('http-proxy'), connect = require('connect'); var proxy = httpProxy.createProxyServer({ target: 'http://localhost:8888', ws: true }); connect.createServer( connect.compress({ // Pass to connect.compress() the options // […]

NPM安装在Docker容器内失败,但是在具有公司代理的主机上运行

我正在将一些node.js服务部署到docker容器内的公司系统中。 我的这些服务的Dockerfiles是非常基本的,除了我设置代理环境variables: FROM node:4.2.3 ADD . /src WORKDIR /src ENV http_proxy http://proxy.gc.corp.com:8888/ ENV https_proxy http://proxy.gc.corp.com:8888/ ENV HTTP_PROXY http://proxy.gc.corp.com:8888/ ENV HTTPS_PROXY http://proxy.gc.corp.com:8888/ RUN npm install –production EXPOSE 3000 CMD npm start >> /log/eva_web_api 当我从这个文件构build我的图像时,我收到来自NPM的以下错误: 上次尝试错误:错误:无法build立隧道套接字,原因= getaddrinfo ENOTFOUND proxy.gc.corp.com proxy.gc.corp.com:8888 但是,当我在主机(已安装Node.js以及Docker)上执行NPM安装时,NPM安装将按正常方式执行,并且不会出现问题。 一个主机我有相同的ENVvariables设置为我在我的Dockerfile定义。 任何人对于这里发生的事情都有任何的想法,我有一张票与我的networking团队负责代理,但他们还没有任何帮助。

如何在节点js中获得系统代理设置?

我正在用电子在windows上编写桌面应用程序。 现在我需要使用系统全局代理设置作为我自己的代理,同时使用请求来获取这样的数据 request({ url: "http://ahdas.drnh.gov.tw/index.php", method: "POST", proxy: this.proxyRequestUrl, headers: { "User-Agent": this.mainWindow.webContents.session.getUserAgent(), "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "gzip, deflate", "Cookie": cookies }, form: {'act': 'Display/built/' + bookKey + "/" + postPageKey} }, (err, response, body) => { }); 那么,如何获得系统全局代理设置并将其分配给this.proxyRequestUrl?

通过Node.js代理pipe理MJPEGstream

在linux上使用Motion,每个networking摄像头都在自己的端口上作为一个stream提供服务。 我现在想要使用Node.js提供所有在同一端口上的stream。 编辑:现在这个解决scheme工作。 我需要从原始的mjpegstream(这是我的Motionconfiguration中的“BoundaryString”)获取边界string app.get('/motion', function(req, res) { var boundary = "BoundaryString"; var options = { // host to forward to host: '192.168.1.2', // port to forward to port: 8302, // path to forward to path: '/', // request method method: 'GET', // headers to send headers: req.headers }; var creq = http.request(options, function(cres) { […]

使用Node.js + Express 2“代理”很多HTTP请求

我在Node.js + Express中编写代理2.代理应该: 根据结果​​解密POST有效载荷并向服务器发出HTTP请求; encryption来自服务器的回复并将其发送回客户端。 与encryption相关的部分工作正常。 我面临的问题是超时。 代理服务器应该在15秒内处理请求。 其中大部分实际上都在500毫秒以下。 当我增加并行请求的数量时出现问题。 大部分请求都可以正常完成,但有些在15秒+几毫秒之后失败。 ab -n5000 -c300可以正常工作,但并发度为500时,会出现一些超时的请求。 我只能推测,但似乎问题是callbackexectuion的顺序。 是否有可能首先发出的请求挂起,直到ETIMEDOUT为止,因为节点的焦点在最新的请求中,这些请求仍在500ms ETIMEDOUT处理。 PS:远程服务器没有问题。 我正在使用请求与它进行交互。 UPD 事情的方式与一些代码的方式: function queryRemote(req, res) { var options = {}; // built based on req object (URI, body, authorization, etc.) request(options, function(err, httpResponse, body) { return err ? send500(req, res) : res.end(encrypt(body)); }); } app.use(myBodyParser); // […]

如何通过NodeJS中的SOCKS5代理发送UDP数据包?

有没有办法通过NodeJS中的SOCKS5代理发送UDP数据包? 同样,是否可以将UDP套接字绑定到特定的localAddress?