背景:新版本修改了個功能是在老版本的基礎上作的,同一個接口,須要兼容老版本,所以讓前臺在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 不使用下劃線 基礎