request.headers.get头部获取内容的缺失

1、说明

今天遇到了一个小坑,在做权限控制的时候,用头部传递了参数取名为table_privilege_id, 在本地测试的时候是可以接到这个参数的,但是通过ngxin转发之后,奇怪了,怎么也拿不到这个参数了,经过多次排查, 然后又给这个参数换了换其他的名字,发现又可以接收到了,到最后一查,nginx代理默认会把header中参数的 "_" 下划线去掉,所以后台服务器后就获取不到带"_"线的参数名。

2、解决

解决方法,修改nginx的配置文件 nginx.conf ,在配置http的部分修改如下:

underscores_in_headers on; ##(默认值是off)

 然后就可以了 

PS: 建议头部不要使用包含下划线属性名 . . .

 
 
原文地址:https://www.cnblogs.com/yuanfang0903/p/12753645.html