Tag: 代理

Nodejs:许多客户端通过一个套接字请求

场景:我有很多客户端(通过Socket.io的网页)连接到一个Node.js服务器(称之为A)。 服务器充当另一个服务(Node.js)的应用程序“代理”,让我们调用服务B.实际上,页面使用代理与服务B通信。 我试图理解,如果我可以只从服务器A打开一个套接字到服务B,只是为了获得性能和资源(在服务器A上的第一个客户端连接上,服务器将打开套接字到B并维护它打开信息双向stream动)。 当然问题在于,如果没有某种干预,消息可能会相互混乱,造成B服务无法理解的混乱。 我是一个在套接字编程新手,我想知道如果这是一个“解决”的问题,或只是错误的答案:)谢谢

如何通过nodejs中的Web代理使用HTTPS

我可以用HTTP来做到这一点: var http = require ('http'); http.get ({ host: 'my.proxy.com', port: 8080, path: 'http://nodejs.org/' }, function (response) { console.log (response); }); 但是,如果我想要转到HTTPS资源,它不起作用。 我必须使用HTTP连接方法吗? 我将如何构造这个? 谢谢!

Node.js:Proxy网站如何处理相关的Url?

我在Node中创build了一个相对简单的代理,它允许我下载页面并显示它们。 这很好,虽然一些脚本 , 链接 , 表单和图像似乎被打破,因为它们指向相关的文件。 作为一个项目,我试图创build一个function齐全的Web代理。 像Proxify这样的网站如何解决这个问题? scheme供参考: var app = require('express').createServer(); var request = require('request'), sys = require('sys'), fs=require('fs'); app.get('/url', function(req, res){ console.log(req.query.link); request({ uri: req.query.link, headers: {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0"} }, function (error, response, body) { if (error && response.statusCode !== 200) { console.log('Error when contacting google.com') } […]

如何检查node-http-proxy中的Rails会话?

我们有一个Rails应用程序,其视图中填充了来自第三方API的数据。 目前,这个视图使用一个瑞士法郎拖缆打开到端点的套接字。 最近,API的供应商要求我们切换到长时间轮询Ajax调用,并通过我们的服务器中的代理pipe道请求。 我们正在考虑使用node-http-proxy来利用节点的速度和并发处理,以防万一得到高stream量。 不过,我们是Node.js的新手。 我们正在研究的另一个选项是使用Rails应用程序本身来转发这些请求,其优点是我们可以使用现有的会话处理。 我们更喜欢使用node-http-proxy,因为它似乎是最优雅的解决scheme(当然也是一个使用Node.js的机会),但还没有想出如何将它与我们的应用程序的会话( postgres上的activerecord会话存储)。 有没有办法做到这一点? 有没有其他的authentication/安全/会话检查策略使用node-http-proxy与Rails应用并行? 奥利弗

如何在部门代理后面使用node.js Context.IO?

这里是我的node.js代码来使用RESTful方式而不是IMAP Context.IO。 var ContextIO = require('contextio'); var ctxioClient = new ContextIO.Client({ key: 'MY_KEY', secret: 'MY SECRET' }); ctxioClient.accounts().get(function(err, res) { if (err) throw err; console.log(res); }); 当我在宿舍电脑上执行上面的代码时,一切正常。 但是,当我在我的办公室电脑上执行代码时,代码简单的超时。 我的部门提供互联网访问的http和袜子代理。 问题是如何在node.js中设置它? 顺便说一句,我也试过了 socksify node code.js 它没有时间。 相反,它只是没有回应。

无法在代理之后使用socket.io

我无法连接到从我的公司代理后面在线托pipe的节点js服务器。 var sock = io.connect("http://example.com/"); 我的代理设置是 代理服务器=代理 代理端口= 8080 它可以绕过代理。 我如何通过代理进行请求? 谢谢。

使用nodeJS的自定义path代理WebSockets和HTTP到单独的NodeJS应用程序?

CONTEXT 我正在尝试在NodeJS中构build一个新的Web应用程序。 这个webapp使用两个主要组件。 1)我在NodeJS中编写的代码 – 也就是我自己的逻辑stream程。 2)第三方开源NodeJS应用程序 – EtherCalc – 同时使用HTTP和Socket.io EtherCalc是一个完全独立的Web应用程序。 这是一个电子表格在浏览器+服务器,旨在作为一个独立的应用程序使用。 重要的是,它有自己的命名空间(就像它有不同的path名称,可以路由到不同的function)。 我的应用程序和EtherCalc各自运行在彼此独立的端口上。 为了简单起见,让域名为localhost 。 挑战我想要解决 我的应用程序将使用EtherCalc的电子表格function,以及我自己的代码的非电子表格相关的逻辑stream程。 用户将有权访问这两个接口。 不过,我想这一切似乎来自一个URL /端口 – 我不希望非程序员指定不同的端口来访问不同的function。 解决这个问题的最简单的方法是在我的应用程序中为EtherCalc创build一个名称空间。 以/ethercalc/自动开始的任何path将被转发到运行EtherCalc的端口(在转发之前, ethercalc/从请求URL中删除)。 任何不以标准服务器逻辑stream程开始的东西。 我使用node-http-proxy来实现这一点,使用下面的代码: proxy.proxyRequest(req,res,{ host:'localhost', port:8000 }); 我遇到了问题 这似乎最初运行良好 – 电子表格界面加载时,我去任何/ethercalc/url。 但是,EtherCalc使用WebSockets或JSON轮询来保持服务器和浏览器在同一页面上。 这似乎没有正常工作。 出于某种原因,实际上需要10秒钟才能完成连接。 如果我在电子表格上工作,然后再加载它,这是特别有问题的 – 在我实际看到事先放入的数据之前,有10秒的窗口。 有这个问题之后,要删除url更改function。 现在我的应用程序只是将请求转发到EtherCalc正在运行的端口。 但是,问题依然存在。 直接连接到EtherCalc所在的端口可以解决问题。 重写代码来使用node-http-proxy的httpProxy.createServer()代码也没有什么区别 – 完全相同的结果… 奇怪的是,当连接到我的应用程序端口(具有代理/转发系统的应用程序端口)之后,在漫长的等待期之后,它的function就很好 – 所有事情都是实时同步的。 有谁知道这是怎么回事? TL; […]

适用于使用代理的客户端的socket.io flash(和其他)回退的正确设置

萨拉姆(手段你好):) 我在我的node.js应用程序中有以下基本设置。 但对于使用代理连接的客户端或防火墙后面的客户端不起作用。 我想知道我应该添加什么来使socket.io回退按预期工作: 服务器端: var io = require('socket.io').listen(3000, { log: 3, flashPolicyServer: true, transports: ['htmlfile', 'xhr-polling', 'jsonp-polling', 'flashsocket'] }); io.sockets.on('connection', function(){ // my event handlers }); 客户端: WEB_SOCKET_SWF_LOCATION = "oath/to/my/copy/of/WebSocketMain.swf"; var socket = io.connect('http://localhost:3000'); // my event handlers

nodejs代理本地api调用外部restapi服务(不express.js)

我正在使用nodejs和默认项目文件/scripts/web-server.js运行angularjs(angular-seed)的演示应用程序(见下文) 我希望节点js代理/redirect到/ api的所有本地调用到外部Rest api端点http://www.mywebsite.com/api为了避免跨域起源策略。 我应该如何编辑下面的web-server.js来实现代理redirect? 我发现的所有例子都使用express.js。 我只使用node.js作为开发环境,所以我没有兴趣使用express.js。 默认web-server.js nodejs脚本: #!/usr/bin/env node var util = require('util'), http = require('http'), fs = require('fs'), url = require('url'), events = require('events'), request = require('request'); ; var DEFAULT_PORT = 8000; function main(argv) { new HttpServer({ 'GET': createServlet(StaticServlet), 'HEAD': createServlet(StaticServlet) }).start(Number(argv[2]) || DEFAULT_PORT); } function escapeHtml(value) { return value.toString(). replace('', '>'). […]

RTSP服务器的HTTP代理

我有一个RTSP服务器与videostream。 我想为它创build一个“代理”服务器,用于来自多个移动设备的外部连接。 这个服务器应该在Node.js上。 有没有可能? 当我能得到关于我的问题的任何信息时,您能请教build议吗? 谢谢,帕维尔