apisix~按域名進行請求轉發
路由route
路由(Route)是請求的入口點,它定義了客戶端請求與服務之間的匹配規則。路由可以與服務(Service)、上游(Upstream)關聯,一個服務可對應一組路由,一個路由可以對應一個上游對象(一組后端服務節點),因此,每個匹配到路由的請求將被網關代理到路由綁定的上游服務中。
如圖:

如果前端調用后端接口時,前綴都是/kpi/index時,那apisix就不知道應該選擇哪個路由了,這時,我們需要為路由添加域名,,這個域名就是request header中的host,即前端調用apisix-gateway時的域名,這個域名是需要解析到apisix-gateway的。
上游upstream
上游列表包含了已創建的上游服務(即后端服務),可以對上游服務的多個目標節點進行負載均衡和健康檢查。
上游中指定了你要轉發到的后端服務,可以是具體的節點IP+端口,也可以通過服務發現來指定,如kubernetes,nacos,dns等,如圖:

路由中按域名轉發的必要性
首先,這里的域名是指gateway的域名,一般是前端網站有個域名,然后它在調用后端服務時,會使用apisix-gateway的域名,我們在apisix-gateway的域名可能是多個,按著具體的業務去劃分,不好混淆。
如圖所示,下面路由中出現的域名,都是gateway按著業務來劃分的域名,與具體前端的應用域名沒有關系

也就是說,當apisix收到新的請求時,會查看請求頭中host的值,如果有匹配的路由,就取出來,再進行path前綴的過濾。
浙公網安備 33010602011771號