プロキシとして動作するエクスプレスサーバを作成するにはどうすればよいですか?expressをパススルー経由で使用する方法は?
要件:企業のプロキシの背後にある
- HTTP + httpsの
- 作品
- いくつかのURL
のための特別なコンテンツを返すためのオプション私はhttp-proxy, express-http-proxy, https-proxy-agent, request
を試してみました。私はそれらを正しく使う方法を理解できませんでした。要求
私はrequest
で得た最高の結果を使用して
。しかし、いくつかの問題があります。このアプローチの
var express = require('express'),
request = require('request'),
app = express();
var r = request.defaults({'proxy':'http://mycorporateproxy.com:8080'});
function apiProxy() {
return function (req, res, next) {
console.log(req.method);
r.get(req.url).pipe(res);
}
}
app.use(apiProxy());
app.listen(8080, function() {
'use strict';
console.log('Listening...');
});
問題:
- それはソース要求の
- ヘッダが
- HTTPSを渡されません(...、HEAD、GET)すべての要求に対して
get
を使用していますは動作していません。
us HTTPプロキシがここ
var express = require('express'),
httpProxy = require('http-proxy'),
app = express();
var proxy = httpProxy.createProxyServer({
});
function apiProxy() {
return function (req, res, next) {
console.log(req.method);
proxy.web(req, res, {target: req.url});
}
}
app.use(apiProxy());
app.listen(8080, function() {
'use strict';
console.log('Listening...');
});
私は(おそらく不足している企業の代理で)取得INGの
Error: connect ECONNREFUSED xx.xx.xx.xx:80
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1085:14)
私は
--proxy-server="localhost:8080"
マイ.npmrc
が含まれているオプションを使用してGoogleのクロムを開始しましたプロキシも同様です。私は成功し、次のとhttp-proxy-middleware
を使用しました
proxy=http://mycorporateproxy.com:8080
https-proxy=http://mycorporateproxy.com:8080