Spring Cloud系列之客戶端請求帶“Authorization”請求頭,經過zuul轉發后丟失了


先擺解決方案

方法一:

方法二:

zuul.routes.<routeName>.sensitive-headers=
zuul.routes.<routeName>.custom-sensitive-headers=true

 

原因:Zuul進行路由轉發時RibbonRoutingFilter過濾器,對請求參數和請求頭進行了重新過濾和組裝

RibbonRoutingFilter代碼:

本次我們主要關注buildZuulRequestHeaders這個方法

里面有個isIncludedHeader(name)

debug調式如下:

發現默認過濾掉的請求頭有:authorization、set-cookie、cookie、host、connection、content-length、content-encoding、server、transfer-encoding、x-application-context

至於:這一部分是在zuulProperties這個全局屬性類中設置的

所以,我們在回到開頭部分的解決方案一中就是將默認的sensitiveHeaders清空

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM