文章目錄
上篇文章簡單的演示了一下zuul的路由功能,這篇文章繼續演示zuul的其它功能
1.給其它服務自定義路由
通過zuul訪問其它服務,默認規則是 服務名稱 + 接口路徑。服務名稱是eureka上顯示的名稱,可以通過zuul的配置來自定義服務名稱
1.1 寫法一
zuul.routes.1.path=/myGoods/**
zuul.routes.1.service-id=goods
或者:
改完配置,重啓zuul服務,在訪問(注意url的大小寫):http://localhost:9000/myGoods/size/getSizes
1.2 寫法二 zuul.routes.goods=/myGoods/**
同樣可以訪問:
2.排除路由
如果有些接口,你不想讓外部應用訪問,只想內部服務調用,那你可以用這個配置
zuul.ignored-patterns
重啓,404,http://localhost:9000/myGoods/size/getSizes 找不到了,但是http://localhost:9000/goods/size/getSizes 仍然可以訪問,因爲配置裏只是屏蔽了 myGoods/size/getSIzes。
完全屏蔽,可以如此寫,重啓就全404了:
通配符寫法:
效果圖不貼了,一樣的都是 404
3.敏感頭設置
目前這樣通過zuul請求後面的服務,後臺服務裏獲取不到請求的 cookie。下面的請求是有cookie的:
debug查看後臺服務,cookie爲空:
原因是 zuul的屬性配置裏有個sensitiveHeaders,把這個集合裏的頭部信息都過濾了,
現在默認是過濾了這三個,我們只需要配置sensitiveHeaders爲空,zuul就不會過濾這些信息了
配置zuul.routes.myGoods.sensitive-headers,不同版本zuul,參數名還不一樣,但是都差不多:
重啓zuul,就能看到cookie了: