nodejs http-proxy 反向代理 websocket pathrewrite

const httpProxy = require("http-proxy");
const http = require("http");
const url = require("url");

const proxy = new httpProxy.createProxyServer();

const proxyServer = http.createServer(function (req, res) {
  proxy.web(req, res);
});

proxyServer.on("upgrade", function (req, socket, head) {
  const { pathname } = url.parse(req.url);

  if (pathname.indexOf("/test") === 0) {
    proxy.ws(req, socket, {
      target: `http://127.0.0.1:10002/`,
      changeOrigin: true, // 等用于 req.headers.host = "127.0.0.1:10002"
      ignorePath: true, // 等同于 req.url="/"
    });
  }
});

proxyServer.listen(8000);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。