NG、域名、https 獲取不到header的自定義參數的值

自己項目遇到的一個問題,和我們的解決過程記錄吧。

技術框架是spring boot,前端將token放在header裏面,自定義一個參數,然後再後臺通過request.getHeader("參數")獲取;

1、我們在自己的本地和測試環境下是ok的,當使用測試環境的https://www.xxxxx/訪問的時候就出問題;後跟蹤日誌發現獲取到token也就是getHeader爲空了;

2、由於運維和我們是分開的,所以ng的配置修改不方便,我們自己找問題,由於使用ip地址完全沒問題,所以我們一直認爲是環境的配置問題,一個是https,一個是域名涉及到的NG;但在這之前我們先自己嘗試了以爲自己攔截器和過濾器的問題;然後發現一進來就沒有header的這個值;

3、修改NG的配置,根據網上的說明:

 underscores_in_headers on; 

然後再次調用就行了;

4、最後我們發現其他項目也是同樣的配置和使用方式,但是在沒有3中配置的情況下也可以,我們就深究原因發現:

            我們的參數名稱是"xx_token",重點來了-----------在request.getHeader("xx_token"),NG不能用_,用-代替也行;_是NG的關鍵字會被轉意;

重要的事情說三次:

在request.getHeader("xx_token"),NG不能用_  ;

在request.getHeader("xx_token"),NG不能用_

在request.getHeader("xx_token"),NG不能用_


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章