溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

zuul使用簡說

發(fā)布時間:2020-08-11 20:43:40 來源:ITPUB博客 閱讀:144 作者:gung123 欄目:軟件技術(shù)

zuul路由的幾個配置參數(shù)
1.靜態(tài)路由
zuul:
routes:
myroute1:
path: /mypath/**
url: http://localhost:8080 (注意這里url要http://開頭)
2.靜態(tài)路由+ribbon負(fù)載均衡/故障切換
zuul:
routes:
myroutes1:
path: /mypath/**
serviceId: myserverId
myserverId:
ribbon:
listOfServers: localhost:8080, localhost:8081
ribbon:
eureka:
enabled: false
3.動態(tài)路由+ribbon負(fù)載均衡/故障切換
zuul:
routes:
myroutes1:
path: /mypath/**
serviceId: myserviceId
eureka:
client:
serviceUrl:
defaultZne:xxx
4.路由匹配的一些配置
stripPrefix=true,轉(zhuǎn)發(fā)會過濾掉前綴。
path: /myusers/**,默認(rèn)時轉(zhuǎn)發(fā)到服務(wù)的請求是/**,如果stripPrefix=false,轉(zhuǎn)發(fā)的請求是/myusers/**
zuul.prefix=/api 會對所有的path增加一個/api前綴

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

匹配順序
path:/myusers/**
path:/** 如果是在application.yml中配置的,那么會優(yōu)先匹配/myusers/**
但如果是applicaiton.properties配置的,那么可能導(dǎo)致/myusers/**被/**覆蓋
ignored-Services: '*' 對于自動發(fā)現(xiàn)的services,除了route中明確指定的,其他都會被忽略
5.請求頭過濾
route.sensitiveHeaders: Cookie,Set-Cookie,Authorization
默認(rèn)就有這三個請求頭,意思是不向下游轉(zhuǎn)發(fā)請求這幾個頭
zuul.ignoredHeaders 是一個全局設(shè)置,而route.sensitiveHeaders是局部設(shè)置 zuul過濾器
標(biāo)準(zhǔn)的zuul過濾器有4中,分別對應(yīng)一次路由轉(zhuǎn)發(fā)的幾個關(guān)鍵點;
pre: 在路由轉(zhuǎn)發(fā)之前起作用
routing: 在路由時其作用
post: 在把結(jié)果返回給瀏覽器時起作用
error: 在整個路由階段,出現(xiàn)異常時起作用

如果要分析前端傳來的參數(shù),驗證前端身份等對前端參數(shù)的操作,顯然是用pre過濾器
如果是要對返回給前端的結(jié)果進(jìn)行操作或者分析,顯然是用post過濾器

編寫自定義路由器

public class MyFilter extends ZuulFilter{
filterType() 重寫,返回這個過濾器的類型
filterOrder() 重寫,返回這個過濾器在過濾器鏈的順序
shouldFilter() true啟動
run() 具體邏輯
}
然后向Spring注入這個Bean就行了

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI