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

本文介绍了如何使用http-proxy和ecstatic模块创建HTTP代理服务器及纯静态文件服务器。通过示例代码展示了代理服务器如何转发特定路径请求至目标主机,以及静态服务器如何配置并监听指定端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

// 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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值