如何在将请求传递到上游服务器之前删除 Nginx 中的客户端 Headers?
How to Remove Client Headers in Nginx before passing request to upstream server?
上游服务器是 wowza ,如果我不在应用程序级别启用它们,它不接受自定义 headers。
Nginx 作为代理服务器工作,我想从浏览器发送一些自定义 headers 应该由 Nginx 代理接收和记录,但在将请求转发到上游服务器之前那些 headers 应该从请求中删除。
所以上游服务器永远不会知道那里有任何自定义 headers。
我试过 proxy_hide_header
和 proxy_set_header "<header>" ""
,但似乎它们适用于响应 headers 而不是请求 headers.
即使我同意在 wowza 上启用 headers,我还是无法找到在服务器级别为所有应用程序启用 headers 的方法。 Currenlty 我必须向每个新创建的应用程序添加 headers,这对我来说是不可行的。
如有任何帮助,我们将不胜感激。
proxy_set_header HEADER ""
完全符合您的期望。参见 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header。
If the value of a header field is an empty string then this field will not be passed to a proxied server:
proxy_set_header Accept-Encoding "";
我刚刚确认这是按照记录工作的,我使用的是 Nginx v1.12。
上游服务器是 wowza ,如果我不在应用程序级别启用它们,它不接受自定义 headers。
Nginx 作为代理服务器工作,我想从浏览器发送一些自定义 headers 应该由 Nginx 代理接收和记录,但在将请求转发到上游服务器之前那些 headers 应该从请求中删除。
所以上游服务器永远不会知道那里有任何自定义 headers。
我试过 proxy_hide_header
和 proxy_set_header "<header>" ""
,但似乎它们适用于响应 headers 而不是请求 headers.
即使我同意在 wowza 上启用 headers,我还是无法找到在服务器级别为所有应用程序启用 headers 的方法。 Currenlty 我必须向每个新创建的应用程序添加 headers,这对我来说是不可行的。
如有任何帮助,我们将不胜感激。
proxy_set_header HEADER ""
完全符合您的期望。参见 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header。
If the value of a header field is an empty string then this field will not be passed to a proxied server:
proxy_set_header Accept-Encoding "";
我刚刚确认这是按照记录工作的,我使用的是 Nginx v1.12。