带下划线的 HTTP Header无法获取到可能是因为nginx

背景:新版本修改了个功能是在老版本的基础上做的,同一个接口,需要兼容老版本,因此让前台在header中封装了 version版本号,client_type 客户端类型,根据这两个字段判断接口要走的逻辑

本地使用前台给的IP包测试OK,代码上到测试环境,总是不走新分支,打印参数日志发现没有 client_type 字段,情况很诡异,同一个包在本地OK但是上测试就凉凉...

解决:让IOS在header中封装了新的参数 clientType 字段,与client_type一同传递,发现clientType是可以获取到的,问题定位到,由于key中包含  "_" 符号,随即怀疑nginx搞鬼了

百度之得一下结论:

nginx默认会忽略header中带下划线的key....

处理方法:

1:配置中http部分 增加underscores_in_headers on;

2:变化key 不使用下划线  

猜你喜欢

转载自www.cnblogs.com/zhaiyt/p/11535488.html