【问题标题】:NodeJS HTTP proxy - Add a header and update the request URLNodeJS HTTP 代理 - 添加标头并更新请求 URL
【发布时间】:2016-03-03 13:46:10
【问题描述】:

我正在使用此模块执行以下操作:

  1. 解析请求 URL
  2. 使用来自 URL 的令牌向请求添加新标头
  3. 更新实际请求 URL(从 URL 中删除令牌)

我正在尝试使用以下代码:

function initializeServer(){
  var server = app.listen(5050, function () {
    var host = server.address().address
    var port = server.address().port
    logger.info('NodeJS Server listening at http://%s:%s', host, port)
  });
}

proxy.on('proxyReq', function(proxyReq, req, res, options) {
  console.log("intercepting ... ")
    proxyReq.setHeader('x-replica', '123');
    req.url = '/newurl';
});

function initializeController(){
  app.get('/myapp*', function (req, res) {
     proxy.web(req, res, { target: 'http://127.0.0.1:8081' });
  });
}

其中 8081 是我的测试服务器,代理服务器运行在 5050。

现在,标头设置有效,但 URL 设置无效。如何使用节点 HTTP 代理来实现这一点?

【问题讨论】:

    标签: node.js proxy node-http-proxy


    【解决方案1】:

    proxy.on('proxyReq',...) 处理程序中,req 是(原始)传入请求,而proxyReq 是将向目标服务器发出的请求。您需要设置proxyReq.path 字段。

    【讨论】:

      猜你喜欢
      • 2016-03-04
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多