Springcloud zuul 路由配置規(guī)則

zuul路由的幾個(gè)配置參數(shù)

1.靜態(tài)路由

zuul:

routes:

myroute1:

path: /mypath/**

url: http://localhost:8080 (注意這里url要http://開(kāi)頭)

2.靜態(tài)路由+ribbon負(fù)載均衡/故障切換

zuul:

routes:

myroutes1:

path: /mypath/**

serviceId: myserverId

myserverId:

ribbon:

listOfServers: localhost:8080, localhost:8081

ribbon:

eureka:

enabled: false

3.動(dòng)態(tài)路由+ribbon負(fù)載均衡/故障切換

zuul:

routes:

myroutes1:

path: /mypath/**

serviceId: myserviceId

eureka:

client:

serviceUrl:

defaultZne:xxx

4.路由匹配的一些配置

stripPrefix=true,轉(zhuǎn)發(fā)會(huì)過(guò)濾掉前綴。

path: /myusers/**,默認(rèn)時(shí)轉(zhuǎn)發(fā)到服務(wù)的請(qǐng)求是/**,如果stripPrefix=false,轉(zhuǎn)發(fā)的請(qǐng)求是/myusers/**

zuul.prefix=/api 會(huì)對(duì)所有的path增加一個(gè)/api前綴

ignoredPatterns: /**/admin/** 過(guò)濾掉匹配的url

route:

users: /myusers/** 會(huì)匹配所有/myusers/**的url,但由于ignoredPatterns, /myusers/**/admin/**的請(qǐng)求不會(huì)被轉(zhuǎn)發(fā),而是直接由zuul里的接口接收

匹配順序

path:/myusers/**

path:/** 如果是在application.yml中配置的,那么會(huì)優(yōu)先匹配/myusers/**

但如果是applicaiton.properties配置的,那么可能導(dǎo)致/myusers/**被/**覆蓋

ignored-Services: ‘*‘ 對(duì)于自動(dòng)發(fā)現(xiàn)的services,除了route中明確指定的,其他都會(huì)被忽略

5.請(qǐng)求頭過(guò)濾

route.sensitiveHeaders: Cookie,Set-Cookie,Authorization

默認(rèn)就有這三個(gè)請(qǐng)求頭,意思是不向下游轉(zhuǎn)發(fā)請(qǐng)求這幾個(gè)頭

zuul.ignoredHeaders 是一個(gè)全局設(shè)置,而route.sensitiveHeaders是局部設(shè)置

zuul過(guò)濾器

標(biāo)準(zhǔn)的zuul過(guò)濾器有4中,分別對(duì)應(yīng)一次路由轉(zhuǎn)發(fā)的幾個(gè)關(guān)鍵點(diǎn);

pre: 在路由轉(zhuǎn)發(fā)之前起作用

routing: 在路由時(shí)其作用

post: 在把結(jié)果返回給瀏覽器時(shí)起作用

error: 在整個(gè)路由階段,出現(xiàn)異常時(shí)起作用

如果要分析前端傳來(lái)的參數(shù),驗(yàn)證前端身份等對(duì)前端參數(shù)的操作,顯然是用pre過(guò)濾器

如果是要對(duì)返回給前端的結(jié)果進(jìn)行操作或者分析,顯然是用post過(guò)濾器

編寫(xiě)自定義路由器

public class MyFilter extends ZuulFilter{

filterType()重寫(xiě),返回這個(gè)過(guò)濾器的類型

filterOrder()重寫(xiě),返回這個(gè)過(guò)濾器在過(guò)濾器鏈的順序

shouldFilter() true啟動(dòng)

run()具體邏輯

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容