带下划线的 HTTP Header没法获取到多是由于nginx

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

 

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

 

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

百度之得一下结论:日志

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

处理方法:underscore

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

2:变化key 不使用下划线  基础

相关文章
相关标签/搜索