记一次 Nginx Request 头信息丢失

178 阅读1分钟

背景

2020年8月21日,一个美好的下午(除了加班)。和前端小改改接口联调完毕,部署测试提测。结果运行的好好的代码,突然接口提示没有权限了。

解决

看了下前端的请求,是有请求头的,日志中看到的是没有获取到。这个锅赖不掉了,安心找BUG吧。开发环境是没有问题的,上测试就出问题了,是风水不好吗?细思极恐,好像就一点不同,那就是测试配置了NGINX。

既然只有这一点不同,那问题99%就在这里了。看了下NGINX的配置,是加上了请求头信息的,他还是丢失了。

百度一下? 原来是request_header中包含_(下划线) ,NGINX不支持。

解决办法:

1.不用下划线,把下划线改成其他的。

2.修改nginx.conf。把http部分中添加如下配置

underscores_in_headers on; (默认 underscores_in_headers 为off)

我了,这种懒人,肯定直接用第一种方式了。

写在最后

人丑就要多读书!!!