Version: Next
列表
在路由列表頁面,可以一下清楚看到所有的服務名稱
、主機
、路徑
、服務
、標籤
、建立時間
以及建立者
的資訊,並且可以新增路由以及對既有路由做編輯或刪除的動作。如果對某項路由想知道更詳細的資訊,可以點擊路由名稱,即可得到更詳細的訊息以及監控的資訊。
#
新增路由從網站左邊Menu中點選
路由列表
頁面,進入路由列表的畫面點選右上角的
新增
後,填入相關資訊後送出。
#
欄位配置說明變數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
service_id | string | 服務ID。 | V | |
name | string | 路由名稱。 | V | |
protocols | string | ["http","https"] | 路由允許的協定列表。當設定中有 https 時,HTTP請求會以HTTPS回覆。 | |
method | array of string | 匹配路由之HTTP方法。 | ||
hosts | array of string | 匹配路由之域名列表。 | ||
paths | array of string | 80 | 匹配路由之路徑列表。 | |
headers | array of string | 匹配路由之標頭列表。不能使用 Host 做為標頭,此標頭應在 hosts 欄位做設定。 | ||
https_redirect_status_code | number | 426 | 當請求中的除了協定外,所有屬性皆符合路由之設定時,會回傳之狀態碼。標頭 Location 會被拒絕當此欄位設定為 301 、 302 、 307 或 308 。 | |
regex_priority | number | 0 | 用來決定當一個請求符合多個路由時將選擇的路由。當兩個路由皆符合並且此欄位設定值也一樣時,會選擇較早創立的路由。要注意的是當沒有設定此欄位時,會優先匹配較長的路由。 | |
strip_path | boolean | false | 當匹配路由之 paths 時,會將此路徑從上游服務請求中去除。 | |
path_handling | string | v0 | 控制當傳送請求至上游服務時,如何組合服務、路由、請求之路徑。可接受的值有 v0 及 v1 。 | |
preserve_host | boolean | 當匹配路由之 hosts 時,會將其代入標頭 Host 至上游服務。當此欄位設定為 false 時,標頭 HOST 會代入服務的 host 。 | ||
snis | array of string | 匹配路由之SNIs列表。 | ||
sources | array of string | 使用路由串流時,與此路由匹配的傳入連接的IP源頭列表。每個進入點是由IP(可使用CIDR)及通訊埠組成的。 | ||
destinations | array of string | 使用路由串流時,與此路由匹配的傳入連接的IP目標列表。每個進入點是由IP(可使用CIDR)及通訊埠組成的。 | ||
tags | array of string | 可填入任意字串來做分類使用。 |
note
service_id只有在路由列表直接建立時才需填寫。
#
路徑處理演算法若 path_handling
欄位選擇 v0
,則會使用service.path、route.path以及請求的路徑做為URL的一部分。例如有一個服務路徑為 /s,路由路徑為 /r,請求路徑為 /re,則連接後的路徑為 /s/re。
v1
的行為則是把service.path做為前綴,並且忽略路由及請求之起始的斜線,例如有一個服務路徑為 /s,路由路徑為 /r,請求路徑為 /re,則連接後的路徑為 /sre。
兩種方式都會偵測雙斜線,請替換成單斜線。
以下列表中,s代表服務,r代表路由。
s.path | r.path | r.strip_path | r.path_handling | 請求路徑 | 代理路徑 |
---|---|---|---|---|---|
/s | /fv0 | false | v0 | /fv0req | /s/fv0req |
/s | /fv1 | false | v1 | /fv1req | /sfv1req |
/s | /tv0 | true | v0 | /tv0req | /s/req |
/s | /tv1 | true | v1 | /tv1req | /sreq |
/s | /fv0/ | false | v0 | /fv0/req | /s/fv0/req |
/s | /fv1/ | false | v1 | /fv1/req | /sfv1/req |
/s | /tv0/ | true | v0 | /tv0/req | /s/req |
/s | /tv1/ | true | v1 | /tv1/req | /sreq |
#
預覽頁面點擊路由名稱後即會跳出預覽視窗。可以看到路由詳細資訊和其擁有的插件資訊,較為特殊的是有請求統計及監控資訊。
請求統計頁面在選擇日期及API路徑(可填可不填)後按下搜尋鈕即會出現該路由API請求總次數及選擇日期之API請求次數。
監控頁面在選擇時間區間及API路徑(可填可不填)後,即會顯示此路由底下的平均回應時間以及狀態碼回應次數。
#
編輯及刪除如想對某個特定路由做編輯或刪除可按右邊的動作按鈕。
按下刪除鍵後會出現確認對話視窗,選擇刪除即可刪除。
選擇列表左方的框,再選擇右上角的垃圾筒,可以一次多筆刪除。
note
多筆刪除會直接動作,不會有確認對話框出現。