问题是一些物联网设备正在发送带有错误的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
我怎样才能实现呢?
解决方法:
我发现有一个名为HeadersMore的Nginx模块允许修改输入标头(以及更多).
特别是more_clear_input_headers允许删除输入头,more_set_input_headers允许修改输入头.
就我而言
more_clear_input_headers "Content-Length";
要么
more_set_input_headers "Content-Length: 0";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。