gateway 路由404問題

原因是RouteToRequestUrlFilter里面改了GATEWAY_ROUTE_ATTR的值,NettyRoutingFilter執(zhí)行時候就按照這個了

這個問題真tm坑啊,后續(xù)還是好好分析下,springcloudgateway肯定是gloabfilter干的這事情啊

下面這段話是引用別人的

在網(wǎng)關(guān)中經(jīng)常有這樣的需求,客戶端訪問網(wǎng)址"http://a.com/hello",網(wǎng)關(guān)將請求轉(zhuǎn)發(fā)到"http://b.com/world"尿扯。

按照Spring的官方文檔http://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.0.0.RELEASE/multi/multi__developer_guide.html#_writing_custom_gatewayfilter_factories亲桦,在PreGatewayFilterFactory中崖蜜,修改ServerHttpRequest的uri,發(fā)現(xiàn)請求路徑是變了客峭,但是域名并沒有生效豫领,請求依然被轉(zhuǎn)發(fā)到聲明Route時的uri。

原因:

將Gateway日志設(shè)置為debug模式:logging.level.org.springframework.cloud.gateway=debug舔琅,請求filter時控制臺打印日志:

2018-06-2715:37:41.208DEBUG93609--- [ctor-http-nio-3] o.s.c.g.handler.FilteringWebHandler? ? ? : SortedgatewayFilterFactories:[OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.AdaptCachedBodyGlobalFilter@53aa2fc9}, order=-2147482648}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyWriteResponseFilter@69364b2d}, order=-1}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardPathFilter@ea00de}, order=0}, OrderedGatewayFilter{delegate=com.example.cloud.filter.previous.PreviousFilterFactory$$Lambda$412/104912388@4127cf4b, order=1}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=com.example.cloud.filter.AuthFilter@6f9ab79d}, order=100}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter@4792f119}, order=10000}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.LoadBalancerClientFilter@64ae105d}, order=10100}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.WebsocketRoutingFilter@23ca36d}, order=2147483646}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.NettyRoutingFilter@10a18e3e}, order=2147483647}, OrderedGatewayFilter{delegate=GatewayFilterAdapter{delegate=org.springframework.cloud.gateway.filter.ForwardRoutingFilter@5bde57ab}, order=2147483647}]

查看源碼org.springframework.cloud.gateway.filter.NettyRoutingFilter等恐,發(fā)現(xiàn)httpClient請求的url是通過exchange.getRequiredAttribute(GATEWAY_REQUEST_URL_ATTR);獲取的。我們在自定義的Filter中設(shè)置目標(biāo)uri:exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, targetUri); 發(fā)現(xiàn)并沒有生效备蚓。

繼續(xù)查看源碼org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter课蔬,發(fā)現(xiàn)Spring Gateway在這個全局Filter中使用聲明Route時的Uri覆蓋了上面我們自己制定的GATEWAY_REQUEST_URL_ATTR。

解決:

找到問題出在Route中郊尝,我們只要在自定義的Filter中重新設(shè)置Route的Uri即可二跋。

再次訪問,已經(jīng)正確跳轉(zhuǎn)到我們指定的uri流昏。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扎即,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子况凉,更是在濱河造成了極大的恐慌谚鄙,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刁绒,死亡現(xiàn)場離奇詭異襟锐,居然都是意外死亡,警方通過查閱死者的電腦和手機膛锭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門粮坞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚊荣,“玉大人,你說我怎么就攤上這事莫杈』ダ” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵筝闹,是天一觀的道長媳叨。 經(jīng)常有香客問我,道長关顷,這世上最難降的妖魔是什么糊秆? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮议双,結(jié)果婚禮上痘番,老公的妹妹穿的比我還像新娘。我一直安慰自己平痰,他們只是感情好汞舱,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宗雇,像睡著了一般昂芜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赔蒲,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天泌神,我揣著相機與錄音,去河邊找鬼舞虱。 笑死欢际,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的砾嫉。 我是一名探鬼主播幼苛,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼窒篱,長吁一口氣:“原來是場噩夢啊……” “哼焕刮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起墙杯,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤配并,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后高镐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溉旋,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年嫉髓,在試婚紗的時候發(fā)現(xiàn)自己被綠了观腊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邑闲。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖梧油,靈堂內(nèi)的尸體忽然破棺而出苫耸,到底是詐尸還是另有隱情,我是刑警寧澤儡陨,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布褪子,位于F島的核電站,受9級特大地震影響骗村,放射性物質(zhì)發(fā)生泄漏嫌褪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一胚股、第九天 我趴在偏房一處隱蔽的房頂上張望笼痛。 院中可真熱鬧,春花似錦信轿、人聲如沸晃痴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倘核。三九已至,卻和暖如春即彪,著一層夾襖步出監(jiān)牢的瞬間紧唱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工隶校, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留漏益,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓深胳,卻偏偏與公主長得像绰疤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舞终,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容