NodeJS HTTP - 从要代理的请求中删除标头

时间:2016-03-24 10:05:32

标签: node.js proxy

我有一个NodeJS代理服务,它会混淆一些数据并将请求转发给另一个服务。由于我们以及我们代理处理身份验证的服务的一些细节,我们需要在代理之前从传入请求中删除某个标头。

我看到了一些关于请求的文档,例如:“此对象是在内部创建的,并从http.request()返回。它表示正在进行的请求,其标题已经排队。标题仍然是可变的,使用setHeader( name,value),getHeader(name),removeHeader(name)API。“

然后相同的文档说标题是只读的。我还看到一些文档显示这些方法(removeHeader等)可用,还有一些文档没有列出它。

有人可以告诉我,在复制标题之前是否有办法从请求对象中删除标题?如果不是,有一种简单的方法可以复制除我想要遗漏的标题之外的所有标题吗?

1 个答案:

答案 0 :(得分:0)

在这里寻找解决方案,但要node-http-proxy。您可以通过侦听代理上的proxyReq事件,然后在代理请求对象上调用removeHeader来做到这一点,

myProxy.on("proxyReq", function(proxyReq, req, _, options) {
  proxyReq.removeHeader("x-my-header");
});