Skip to main content
Version: 2.8.1

列表

在路由列表頁面,可以清楚看到所有的服務名稱主機路徑服務標籤建立時間以及建立者的資訊,並且可以新增路由以及對既有路由做編輯刪除的動作。如果對某項路由想知道更詳細的資訊,可以點擊路由名稱,即可得到更詳細的訊息以及監控的資訊。

新增路由#

  1. 從網站左邊 Menu 中點選 路由列表 頁面,進入路由列表的畫面。

  2. 點選右上角的 新增 後,填入相關資訊後送出。

路由列表

新增路由

欄位配置說明#

變數類型預設值說明必填
service_idstring服務ID。V
namestring路由名稱。V
protocolsarray of string["http","https"]路由允許的協定列表。當設定中有 https 時,HTTP 請求會以 HTTPS 回覆。
此欄位接受輸入的值為以下其一: grpcgrpcshttphttpstcptlstls_passthroughudp
V
methodsarray of string匹配路由之 HTTP 方法。 例如: GET、 POST ... 等等。
不輸入則代表允許任何 HTTP 方法。
hostsarray of string匹配路由之域名列表。
pathsarray of string匹配路由之路徑列表,填入的路徑起始值必須為 /,例如 /api/v1
不輸入則代表允許匹配任何路徑。
headersarray of map匹配路由之標頭列表。
可輸入多個 header key-value pairs。
此欄位無法設定 Host 做為標頭,Host 標頭應在 hosts 欄位設定。
https_redirect_status_codenumber426當路由的所有設定都匹配,但協定不匹配的時候所回應的狀態碼。

例如:請求的協定是 HTTP 而不是 HTTPS。如果欄位值設定為 301302307308Location 標頭會被 GOC API Gateway 寫入。

此欄位接受輸入的值為以下其一: 426、301、302、307、308。
regex_prioritynumber0當多個路由同時使用正則表達式匹配時,此數值是用來選擇匹配路由的優先度。

當兩個路由匹配,且 regex_priority 欄位值都相同時,將使用較早創建的路由為主 (created_at 欄位時間比較早的)。

* 注意:若路由並非使用正則表達式之方式匹配,則不適用此欄位設定,會以較長的路由路徑優先匹配。
strip_pathbooleanfalse當匹配路由之 paths 時,會將此路徑從上游服務請求 URL 中去除。
path_handlingstringv0控制當傳送請求至上游服務時,如何組合服務、路由、請求之路徑。
此欄位說明請參考 路徑處理演算法
此欄位接受輸入的值為以下其一: v0v1
preserve_hostbooleanfalse當匹配路由設定的 hosts 其中之一 時,會將請求時帶入的 Host 標頭一併往後帶入至上游服務。
當此欄位設定為 false 時,上游服務的 Host 標頭將會是服務的 host 欄位值。
request_bufferingbooleantrue是否要啟用 request body buffering。
使用 HTTP 1.1 且在使用分塊(chunk)傳輸編碼接收數據的服務上,將此功能關閉(設為 false)可能是有意義的。
response_bufferingbooleantrue是否要啟用 response body buffering。
使用 HTTP 1.1 且在使用分塊(chunk)傳輸編碼發送數據的服務上,將此功能關閉(設為 false)可能是有意義的。
snisarray of record匹配路由之SNIs列表。
sourcesarray of record使用路由串流時,與此路由匹配的傳入連接的 IP 源頭列表。
每個 source 是由 IP (可使用CIDR) 及 port 組成的。
destinationsarray of record使用路由串流時,與此路由匹配的傳入連接的IP目標列表。
每個 destination 是由 IP (可使用CIDR) 及 port 組成的。
tagsarray of string可填入任意字串來做分類使用。
note

service_id 只有從路由列表直接建立路由時才需填寫,若是從服務內容頁面的路由列表來建立路由,則不需自行填寫,會在建立路由時,自動帶入 service_id。

路徑處理演算法#

path_handling 欄位選擇 v0,則會使用 service.pathroute.path 以及請求的路徑做為URL的一部分。例如有一個服務路徑為 /s,路由路徑為 /r,請求路徑為 /re,則連接後的路徑為 /s/re

v1 的行為則是把 service.path 做為前綴,並且忽略路由及請求之起始的斜線,例如有一個服務路徑為 /s,路由路徑為 /r,請求路徑為 /re,則連接後的路徑為 /sre

兩種方式都會偵測雙斜線,請替換成單斜線。

service.pathroute.pathRequestroute.strip_pathroute.path_handling請求路徑代理至上游服務路徑
/s/fv0reqfalsev0/fv0/req/s/fv0/req
/s/fv0blankfalsev0/fv0/s/fv0
/s/fv1reqfalsev1/fv1/req/sfv1/req
/s/fv1blankfalsev1/fv1/sfv1
/s/tv0reqtruev0/tv0/req/s/req
/s/tv0blanktruev0/tv0/s
/s/tv1reqtruev1/tv1/req/s/req
/s/tv1blanktruev1/tv1/s
/s/fv0/reqfalsev0/fv0/req/s/fv0/req
/s/fv0/blankfalsev0/fv0//s/fv01/
/s/fv1/reqfalsev1/fv1/req/sfv1/req
/s/fv1/blankfalsev1/fv1//sfv1/
/s/tv0/reqtruev0/tv0/req/s/req
/s/tv0/blanktruev0/tv0//s/
/s/tv1/reqtruev1/tv1/req/sreq
/s/tv1/blanktruev1/tv1//s

預覽頁面#

點擊路由名稱後即會跳出預覽視窗。可以看到路由詳細資訊和其擁有的插件資訊,較為特殊的是有請求統計監控資訊

預覽頁面

請求統計頁面在選擇日期及API路徑(可填可不填)後按下搜尋鈕即會出現該路由 API請求總次數選擇日期之API請求次數

請求統計

監控頁面在選擇時間區間及填入API路徑(可填可不填)後,點擊右方放大鏡的圖案後,即會顯示此路由底下的平均回應時間以及狀態碼回應次數

監控1

監控2

編輯及刪除#

如想對某個特定路由做編輯或刪除可按右邊的動作按鈕。

編輯與刪除

按下刪除鍵後會出現確認對話視窗,選擇刪除即可刪除。

刪除

選擇列表左方的框,再選擇右上角的垃圾筒,可以一次多筆刪除。

多筆刪除

note

多筆刪除會直接動作,不會有確認對話框出現。