【问题标题】:How to forward a request to another URL with all request information (headers, ip etc.)?如何将请求转发到包含所有请求信息(标头、ip 等)的另一个 URL?
【发布时间】:2015-03-07 21:48:56
【问题描述】:

请看下面:

  1. 我的应用收到用户的请求。
  2. 我的应用程序使用 request module 对第三方应用程序进行 API 调用。

为了使第 3 方 API 正常工作,它需要接收用户 IP 和标头信息。(它是一个广告服务器)。但是当我通过我的应用程序发送请求时 - 正如预期的那样 - 第 3 方会收到我的应用程序服务器的 IP 和标头。

问题是: 如何让我的应用程序向 3rd 方 API 发出“看起来像”用户的请求?如何将用户的请求“克隆”到第 3 方?

谢谢

【问题讨论】:

  • 部分产品/方支持X-Forwarded-For。您将不得不求助于这个或类似的选项,因为第 3 方收到的 IP 将永远是您的,您无法影响它(没有问题)。另一种选择是跳出中间,让用户直接呼叫第 3 方。
  • 必须 在中间 :) X-Forwarded-For 标头选项听起来很酷。我去看看,谢谢!

标签: javascript node.js express httprequest http-proxy


【解决方案1】:

对于复制标题,听起来更像是需要proxy。 对于 IP:如果我没有完全关闭,我会说这是不可能的,因为您对您的计算机/服务器为通过网络发送的包提供的 IP 地址没有影响。

把它放在OSI-Words 中:您的 NodeJS 实例位于应用层,而 IP 地址在传输层中处理。

我能想到的你所能做的就是将一个链接转发给你的用户到真正的第 3 方 API 并让他调用它。

【讨论】:

    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2017-01-22
    • 1970-01-01
    相关资源
    最近更新 更多