node-http-proxy

52次阅读
没有评论

提醒:本文最后更新于 2024-03-25 23:06,文中所关联的信息可能已发生改变,请知悉!

node-http-proxy 是一个可编程的,支持 websocket 的 HTTP 代理库。它适合实现反向代理和负载均衡器的组件。

安装

npm install http-proxy --save

核心概念

const httpProxy = require('http-proxy')

const proxy = httpProxy.createProxyServer(options)

proxy 是一个对象,其中包含四个方法

  • web: req, res, [options] 用来代理常规的 HTTP(s) 请求
  • ws: req, socket, head, [options] 用来代理 websocket 请求
  • listen: port 用来监听端口,并启动 webserver
  • close: [callback] 用来关闭端口监听和 webserver

如果没有调用 proxy.listen 方法的话,上面的操作并不会创建一个 webserver。

// 代理请求
http.createServer((req, res) => {proxy.web(req, res, { target: 'https://xxx.com'})
  
  proxy.on('error', err => {})
  // 也可以把错误处理函数作为 web 方法的第四个参数传递
})

当请求被代理时,它遵循两个不同的管道,这两个管道可以对 req 和 res 对象做一些转换。第一个管道(incoming)负责创建和操作将客户端连接到目标的流。第二个管道(outgoing)负责创建和操作流,该流从目标将数据返回到客户端。

正文完
 0
狐耳阿霖
版权声明:本站原创文章,由 狐耳阿霖 于2023-09-27发表,共计635字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)