nginx报错upstream sent invalid header

nginx报错upstream sent invalid header

1.报错背景

最近由于nginx 1.20的某个漏洞需要升级到nginx1.25的版本。在测试环境升级完nginx后,发现应用直接报错502 bad gateway了。

然后查看nginx的errlog,发现:
在这里插入图片描述

upstream sent invalid header: "Cache\x20..." while reading response header from upstream,

报错信息显示应该是http 请求header里面有问题,"Cache\x20…"代表的是空字符串。

2.报错排查和解决问题

通过搜搜引擎和chatgpt都未找到正确的答案。后面在官网中找到这样的描述:说是在nginx1.21以后是会直接拒绝非法的请求头的。

nginx报错upstream sent invalid header_第1张图片

根据这个信息排查后端代码发现,在拦截器中 HttpServletResponse的header中的“Cache-Control”参数多了个空格。将空格删除后问题解决。

你可能感兴趣的:(nginx,运维)