下記みたいに、gulp-webserverのproxiesオプションを使うと、
とある/hogeというリクエストを別サーバのhttp://fuga.com/fuga にプロキシすることができます。
gulpfile.js
var gulp = require('gulp');
var webserver = require('gulp-webserver');
gulp.task('webserver', function() {
gulp.src('app')
.pipe(webserver({
proxies: [ {
source: '/hoge',
target: 'http://fuga.com/fuga'
} ]
}));
});
ここで、このhttp://fuga.com/fuga がProxyを越えて接続しないといけない場合についての接続方法について紹介します。
(例えば、APIサーバがAWS上にあるとか)
node-http-proxy-agent
node-http-proxy-agentというnpmモジュールを使うことでProxyを越えてgulp-webserverのproxies先に接続することができます。
gulpfile.js
var gulp = require('gulp');
var webserver = require('gulp-webserver');
var HttpProxyAgent = require('http-proxy-agent');
gulp.task('webserver', function() {
gulp.src('app')
.pipe(webserver({
proxies: [ {
source: '/hoge',
target: 'http://fuga.com/fuga',
options: {
agent: new HttpProxyAgent(process.env.https_proxy)
}
} ]
}));
});