微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

忽略或修改NGINX中的请求标头

我需要让Nginx忽略/修改请求标头.

问题是一些物联网设备正在发送带有错误的Content-Length标头的HEAD请求.这使得Nginx等待更多内容然后超时.

删除Content-Length标头或将其设置为0都可以解决问题.

这失败了

HEAD / HTTP/1.1
Host: MY_HOST
Content-Length: 59
Content-Type: text/html
Connection: close

这工作(内容长度:0)

HEAD / HTTP/1.1
Host: MY_HOST
Content-Length: 0
Content-Type: text/html
Connection: close

这也有效(没有内容长度)

HEAD / HTTP/1.1
Host: MY_HOST
Content-Type: text/html
Connection: close

我怎样才能实现呢?

解决方法:

我发现有一个名为HeadersMoreNginx模块允许修改输入标头(以及更多).

特别是more_clear_input_headers允许删除输入头,more_set_input_headers允许修改输入头.

就我而言

more_clear_input_headers "Content-Length";

要么

more_set_input_headers "Content-Length: 0";

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐