我有一个NodeJS代理服务,它会混淆一些数据并将请求转发给另一个服务。由于我们以及我们代理处理身份验证的服务的一些细节,我们需要在代理之前从传入请求中删除某个标头。
我看到了一些关于请求的文档,例如:“此对象是在内部创建的,并从http.request()返回。它表示正在进行的请求,其标题已经排队。标题仍然是可变的,使用setHeader( name,value),getHeader(name),removeHeader(name)API。“
然后相同的文档说标题是只读的。我还看到一些文档显示这些方法(removeHeader等)可用,还有一些文档没有列出它。
有人可以告诉我,在复制标题之前是否有办法从请求对象中删除标题?如果不是,有一种简单的方法可以复制除我想要遗漏的标题之外的所有标题吗?
答案 0 :(得分:0)
在这里寻找解决方案,但要node-http-proxy
。您可以通过侦听代理上的proxyReq
事件,然后在代理请求对象上调用removeHeader
来做到这一点,
myProxy.on("proxyReq", function(proxyReq, req, _, options) {
proxyReq.removeHeader("x-my-header");
});