http-proxy 是 Node.js 中一个 HTTP 代理库,它支持 websockets 等特性,可以用来实现反向代理和负载均衡等功能。
安装
npm install http-proxy
创建代理服务器
const httpProxy = require('http-proxy');
const proxy = httpProxy.createProxyServer({});
代理 HTTP 请求
proxy.web(req, res, {
target: 'http://target.com'
});
代理 WebSocket 请求
proxy.ws(req, res, head, {
target: 'ws://target.com'
});
监听代理事件
proxy.on('error', function() {});
配置选项
target、changeOrigin、ws 等选项可以配置代理行为。
自定义服务器
可以创建自定义 HTTP 服务器,在里面使用 proxy.web() 进行代理:
http.createServer(function(req, res) {
proxy.web(req, res);
})
HTTPS 支持
提供 ssl 选项对 HTTPS 进行代理。
Websockets 支持
设置 ws: true 支持 WebSockets 代理。
更多使用例子
文档给出了修改请求/响应HEADERS、添加延迟等更丰富的使用示例。
以上介绍了http-proxy的主要功能及用法,具体的参数和事件可以参考官方文档。