zuul過濾器中轉(zhuǎn)發(fā)請求頭的解決方案
zuul過濾器中轉(zhuǎn)發(fā)請求頭
Zuul網(wǎng)關(guān)過濾的時候,如果不在網(wǎng)關(guān)過濾時轉(zhuǎn)發(fā)請求頭,經(jīng)過網(wǎng)關(guān)時請求頭就會丟失。
網(wǎng)關(guān)過濾轉(zhuǎn)發(fā)請求頭代碼如下
@Override
public Object run() throws ZuulException {
RequestContext currentContext = RequestContext.getCurrentContext();
HttpServletRequest request = currentContext.getRequest();
Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
String values = request.getHeader(name);
currentContext.addZuulRequestHeader(name, values);
}
}
return null;
}
但我用 addZuulRequestHeader轉(zhuǎn)發(fā)請求頭卻不起作用。原來是敏感請求頭Authorization,Cookie,Set-Cookie默認(rèn)不轉(zhuǎn)發(fā)的。
解決方法一:使用別的單詞,如 token、myAuthorizaion等
解決方法二:配置application.yml
zuul:
routes:
api-seller:
path: /api/seller/**
serviceId: mobileshop-api-seller-feign
sensitive-headers:
- Cookie,Set-Cookie,Authorization
zuul路由轉(zhuǎn)發(fā)header丟失問題

定義一個前置過濾器,獲取原生request的請求頭,塞到zuul轉(zhuǎn)發(fā)request請求頭中。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實(shí)現(xiàn)WebSocket即時通訊的示例代碼
本文主要介紹了SpringBoot實(shí)現(xiàn)WebSocket即時通訊的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
Java實(shí)戰(zhàn)項(xiàng)目 醫(yī)院預(yù)約掛號系統(tǒng)
本文是一個Java語言編寫的實(shí)戰(zhàn)項(xiàng)目,是一個醫(yī)院預(yù)約掛號系統(tǒng),主要用到了jdbc+jsp+mysql+ajax等技術(shù),技術(shù)含量比較高,感興趣的童鞋跟著小編往下看吧2021-09-09
SpringBoot整合RedisTemplate實(shí)現(xiàn)緩存信息監(jiān)控的步驟
這篇文章主要介紹了SpringBoot整合RedisTemplate實(shí)現(xiàn)緩存信息監(jiān)控,一步一步的實(shí)現(xiàn)?Springboot?整合?Redis?來存儲數(shù)據(jù),讀取數(shù)據(jù),需要的朋友可以參考下2022-01-01
Java中@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題分析
這篇文章主要介紹了@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08
Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼
Apache POI 是用Java編寫的免費(fèi)開源的跨平臺的 Java API,Apache POI提供API給Java對Microsoft Office格式檔案讀和寫的功能。本文給大家介紹Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼,需要的朋友參考下吧2021-06-06
Java多線程Thread , Future , Callable ,
本文主要介紹了Java多線程Thread , Future , Callable , FutureTask的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
MyBatis-Plus 動態(tài)表名SQL解析器的實(shí)現(xiàn)
這篇文章主要介紹了MyBatis-Plus 動態(tài)表名SQL解析器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
java實(shí)現(xiàn)/創(chuàng)建線程的幾種方式小結(jié)
在JAVA中,用Thread類代表線程,所有線程對象都必須是Thread類或者Thread類子類的實(shí)例,下面這篇文章主要介紹了java實(shí)現(xiàn)/創(chuàng)建線程的幾種方式,需要的朋友可以參考下2021-08-08

