Zuul閘道器無法路由請求

2021-10-06 15:06:47 字數 952 閱讀 7586

最近在做的乙個需求,需要對外部訪問微服務的介面進行token鑑權,想來想去還是用閘道器合適。因為公司原來有用的zuul閘道器但是沒有上線,所以這次我就想把原來的閘道器服務整合進去。以前只看過zuul的一些資料並沒有動手實戰過,所以實戰中還是踩了些坑,浪費了很多時間和精力,這就是只看不動手的壞處啊!

以下是入門遇到的小問題

1. 路由規則

zuul

:routes

:order

: /jd/order/**

如果我們要通過閘道器路由,則需要直接訪問zuul閘道器服務的埠,然後加上路由,再加上介面路徑。

實際訪問路徑:

zuul會幫你截掉路由匹配的字首,然後**到對應的order服務介面/jd/order/12345

公司的專案部署在nginx中,所以我直接改nginx的location到upstream負載均衡到相應的多個閘道器伺服器,還是挺方便的。

2.token不被**

zuul缺省會過濾掉authorization敏感詞,所以token預設不會被**到後端微服務去。

解決:

context.

addzuulrequestheader

("authorization"

, tokens)

;

網上另外有種在yml檔案中配置的

zuul

:sensitive-headers

但是我用這個方式啟動服務會報錯,所以就選擇第一中**的方式了。

3.除了閘道器服務,其他微服務介面仍可以被訪問

例如:我知道了微服務部署所在的ip埠,我就可以直接去訪問該微服務的介面。

據我了解這個還需要整合一些許可權框架去做,spring security和shiro之類的。

Zuul路由閘道器

zuul路由閘道器 概述 1.zuul提供外部的請求 到具體的微服務例項中的服務 2.路由 zuul可以對外部訪問實現統一的入口 3.過濾 zuul可以對外部訪問進行干預,如請求校驗 服務聚合等 4.zuul需要配合eureka使用,需要在eureka中註冊並獲得其他微服務的資訊 5.理解 zuul...

Zuul路由閘道器

1.1 什麼是zuul zuul包含了對請求的路由和過濾這兩個主要的功能 zuul和eureka進行整合,將zuul自身註冊為eureka服務治理下的應用,同時從eureka中獲得其他微服務的訊息,也就是說以後訪問微服務都是通過zuul跳轉後獲得 1.2 zull簡單使用 編寫服務,匯入依賴 org...

Zuul路由閘道器

首先還是導包 需要eureka zuul的包 org.springframework.cloudgroupid spring cloud starter netflix eurekaartifactid dependency org.springframework.cloudgroupid spri...