忽略或修改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";

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...