1)安装环境背景:
当前nginx/1.26.2的版本。发现项目访问直接报错502
2)nginx服务报错:
upstream sent invalid header: "Referrer\x20..." while reading response header from upstream
报错日志:
造成的原因:
在 nginx 1.21 以后,nginx会直接拒绝非法的请求头。
报错信息显示应该是http请求header里面有问题,"Referrer\x20…"代表的是空字符串。
解决方法:
根据这个信息排查nginx配置信息及后端代码中关于请求header里面Referrer的参数配置发现,在拦截器中 res.setHeader("Referrer Policy","origin");Referrer Policy中间不能是空格,应该是Referrer-Policy。
修改之后再次重启nginx之后页面可以访问了