Node 代理与纯静态服务器ecstatic插件代码应用整理

第三个代理插件是基于第一个进行扩展。第二个是纯静态服务器插件。

 

// http-proxy code

var port = parseInt(process.argv[2]);

var http = require('http');
var httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({});

http.createServer(function (req, res) {
	if (req.url.indexOf('/xxx/abc') === 0) {
	  	proxy.web(req, res, { target: 'http://127.0.0.1:9999' });
	} else {
		app(req, res)
	}
}).listen(port, function () {
	console.log(`Server running on ${port}...`);
});


// ---- ecstatic code

const http = require('http');
const ecstatic = require('ecstatic')({
  root: `${__dirname}`,
  baseDir: '/api',
  showDotfiles: false,
  hidePermissions: true,
  handleError: true,
  handleOptionsMethod: true
});

http.createServer(ecstatic).listen(9999);

console.log('Listening on :9999');


// ----- http-proxy-middleware code

var proxy = require('http-proxy-middleware')

// proxy middleware options
var options = {
  target: 'http://localhost:9999', // target host
  changeOrigin: false, // needed for virtual hosted sites
  // ws: true, // proxy websockets
  pathRewrite: {
    '^/api/old-path': '/api/new-path', // rewrite path
    '^/api': '/' // remove base path
  }
}

// create the proxy (without context)
var exampleProxy = proxy(options)
app.use('/api', exampleProxy)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值