Nginx代理导致请求头中header带下划线_的属性丢失
2023-11-03 16:47:15
294次阅读
0个评论
因为项目需求,做系统之间的单点登录功能。
请求时往请求头header中放入了Auth_token信息,在接收请求时再从header中拿出,在本地调试时是可以的,但通过NGINX代理之后发现拿不到,接口也提示没有获取到Auth_token信息,意识到可能是Auth_token没有带过去
最后发现是请求的请求头参数有下划线,而Nginx代理默认会把header中参数有“_”下划线的参数去掉。
方法一:不用下划线,从设计之初,就不用带下划线的属性ke'y
把下划线_改成其他的,如sign_val改成sign-val
方法二:从根本解除nginx的限制
nginx默认request的header的那么中包含’_’时,会自动忽略掉。
解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:
underscores_in_headers on
; (默认 underscores_in_headers 为off
)
两种代码均可行。
0
0