如何在将请求传递给上游服务器之前删除Nginx中的客户端标头?

mad*_*und 11 nginx http-headers http-live-streaming wowza

上游服务器是wowza,如果我没有在应用程序级别启用它们,则不接受自定义标头.

Nginx作为代理服务器工作,从浏览器我想发送一些自定义标头,应该由Nginx代理接收和记录,但在转发请求到上游服务器之前,应该从请求中删除这些标头.

所以上游服务器永远不会知道那里有任何自定义标头.

我想proxy_hide_header还有proxy_set_header "<header>" "",但好像他们适用于响应头不请求头.

即使我接受在wowza上启用标头,然后我再也找不到在所有应用程序的服务器级别启用标头的方法.Currenlty我必须为每个新创建的应用程序添加标题,这对我来说是不可行的.

任何帮助,将不胜感激.

ror*_*rjb 17

proxy_set_header HEADER ""完全符合您的期望.请参阅https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header.

如果标头字段的值是空字符串,则此字段将不会传递给代理服务器:

proxy_set_header Accept-Encoding "";

我刚刚确认这是有记录的,我使用的是Nginx v1.12.

  • @Martynas - 根据您发布的链接,似乎“proxy_hide_header”适用于响应标头,而“proxy_set_header”适用于请求标头。 (2认同)