Tag: 代理

如何更新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

使用来自node.js的凭证反向代理login

我目前有一个服务器在Tomcat servlet中使用Shiro Token系统运行Spring,以检查用户是否已经login。 它允许跨域请求。 在任何其他领域,我可以在客户端(通常使用angular度)调用… http.get('https://<my_check_login_service>', {withCredentials: true}) …只要我已经login(令牌不过期)返回用户信息(名称,头像等)。 我现在有另一个系统是一个节点服务器(也为客户端服务angular),我想调用节点服务器,并代理到上面的my_check_login_service获取用户,设置会话对象的信息(使用快递),然后将用户返回给客户端。 而且,通过会话对象,允许我信任他们的连接,并允许他们根据从login服务返回的用户的安全级别执行进一步的API调用。 在node.js路由器,我可以代理这样做… app.get('/checklogin', function(req, res) { req.pipe(request.get("https://<my_check_login_service>").pipe(res); } …但我不知道如何将正确的凭据传递给服务。 如果我做 … http.get('checkLogin', {withCredentials: true}) …当然,它不起作用,因为我的login_service的凭据不会发送到本地服务器。 我怎样才能通过正确的凭据,使这项工作? 干杯。

节点代理 – 从基本http服务器代理一个SSL本地主机目标

我在做什么: 代理一个运行在https://127.0.0.1:443/api/上的java api,沿着我的UI在非SSL http://127.0.0.1:1337/上运行,以便环绕一些CORS问题。 我的尝试: 将SSL端口443处的api代理到1338的非SSL开发端口。 代理我的用户界面到1337年 代理1137至:8080/index.html和代理1338至:8080/api/ 从localhost:8080访问我的应用程序 我的问题: 用户界面进来就好了…但我不能击中API :8080/api/httpSession/init 是的,我仍然可以通过https://localhost/api/httpSession/init api.js – 在1337处呈现index.html var app = express(); app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); }); var options = { changeOrigin: true, target: { https: true } }; httpProxy.createServer(443, '127.0.0.1', options).listen(1338); start.js – […]

在一个端口上使用单个应用程序的节点应用程序使用代理服务器(如node-http-proxy)有什么意义?

我正在探索使用node-http-proxy代理服务器,以便我们可以在端口80上将我们的代理服务器转发到端口8000上的我们的应用服务器。但是,我有点困惑,为什么这是一个好主意,而这个设定会如何保护安全。 note-http-proxy文档讨论了很多使用它作为将请求转发到具有多个端口或IP地址的应用程序的方法。 这显然是非常有用的,特别是基本的循环负载平衡策略。 但是,我们只在一个端口上有一个应用程序,所以我们没有必要这样做。 如果有一个重要的安全原因,我们应该使用这个代理服务器,那么我想知道什么types的攻击,它的保护。 另外,我们使用的是socket.io,所以如果代理服务器能够帮助websocket服务器扩展,我也想明白这一点。 我们无法确定如何在没有sudo情况下运行我们的应用程序(因为所有1024以下的端口都需要root访问权限),所以如果现在真的没有理由使用代理服务器,那么我们只会报废。 如果有人知道如何使用端口80上的代理服务器运行这个应用程序没有根权限,这也是非常有用的。 谢谢!

如何覆盖node.js http为所有出站请求使用代理

我最近创build了一个node.js应用程序,用于联系社交媒体网站并caching我们的公共提要。 我正在使用一些现有的npm模块来方便访问社交媒体API。 它在我的开发环境中像一个魅力,但是在我们的生产环境中,请求会因为需要通过代理而超时。 无需修改npm模块,我怎样才能使出站请求通过代理?

使用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时,我仍然收到相同的消息,为什么? 可以吗? […]

如何使websockets在node.js中通过代理

推广这将是一个问题…如何使websockets通过node.js代理? 在我个人的情况下,我使用pusher.com和他们推荐的node.js客户端库 。 在代码里面,我想知道我应该改变的一些提示,以便使这个库能够与代理一起工作…你可以看看这里的代码 也许我应该以某种方式replace或修改库正在使用的websockets模块 ? 编辑 感谢您的回答/评论! 一些事情要考虑(对不起,如果我有一些/所有的人都错了,只是学习): 我不想创build代理服务器。 我只想使用我公司内现有的代理服务器来代理我的websockets请求(特别是pusher.com) 只是为了让你知道,如果我使用像Windows Proxifier这样的代理服务器,我build立了规则来检查所有连接到端口443去通过代理服务器proxy-my.coporate.com:1080(typesSOCKS5)它就像一个魅力。 但我不想这样。 我想编程在我的节点js代码中configuration这个代理服务器(即使涉及修改我提到的推进器库) 我知道如何使用Request模块为HTTP执行此操作(查找提及如何使用代理的部分)。 我想为websockets一个类似的东西。

套接字挂起与nodejs的错误

我想为某个XYZ服务器设置代理服务器,但我不是pipe理员。 然后,我想对请求和响应头进行一些分析,然后通过请求和响应主体进行分析。 所以我使用http代理https://github.com/nodejitsu/node-http-proxy 这是我正在做的事情: var proxy = httpProxy.createProxyServer(); connect.createServer( connect.bodyParser(), require('connect-restreamer')(), function (req, res) { proxy.web(req, res, { target : 'XYZserver' }); } ).listen(config.listenPort); 高达GET请求一切都很好,但每当有一些像POST,PATCH,PUT等请求的身体的请求,我得到的错误: Error: socket hang up at createHangUpError (http.js:1472:15) at Socket.socketCloseListener (http.js:1522:23) at Socket.EventEmitter.emit (events.js:95:17) at TCP.close (net.js:466:12) 我谷歌了很多,但没有发现什么是错误的线索。 我使用“proxy.web”的“ws:true”选项启用套接字代理,但仍然是相同的错误。

节点Http代理Web套接字平衡

我需要能够在应用程序级别上平衡WebSocket。 让我们说,前面的websocket请求基于我收到的消息,解码它的代理,然后使用该数据发送到另一个套接字服务器使用一些逻辑。 但我无法做到这一点。 这是我写的最初的代码,并试图做到这一点。 这是服务器 var http = require('http'); var httpProxy = require('http-proxy'); var WebSocket = require('ws'); var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({ port: 8080 }); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); }); ws.send('something'); }); var proxy = httpProxy.createServer({target: 'ws://localhost:8080', ws:true}); var server = httpProxy.createServer(function(req, res) { […]

nginx代理多个节点的应用程序泊坞窗

我正在尝试nginx反向代理多个容器。 我有2个容器,有节点添加一个听8085和其他8086我希望他们访问 node.app1.com node.app2.com 所以我用jwilder / nginx代理:最新将坐在这两个容器的来源,将作为反向代理。 所以这里是我的compose.yml文件。 泊坞窗,compose.yml version: "3" services: node-proxy: build: ./node-proxy container_name : node-proxy restart : always volumes: – /var/run/docker.sock:/tmp/docker.sock:ro ports: – 80:80 – 443:443 node-app1: build: ./app1 container_name : node-app1 restart: always environment: VIRTUAL_HOST: node.app1.com depends_on: – node-proxy node-app2: build: ./app2 container_name : node-app2 restart: always environment: VIRTUAL_HOST: node.app2.com depends_on: […]