konga新增service和rouce詳解

南柯一夢天醉歡發表於2020-11-17

注意:先有service後,才能建立rouce(可以有多個),包括刪除順序先刪除route,再刪除service。次序問題

1.新增service

  是抽象層面的服務,他可以直接對映到一個物理服務 (host 指向 ip + port),也可以指向一個 upstream 來做到負載均衡。通俗說,這個service就是後臺訪問介面配置。

屬性描述
name(必填)服務名稱.
tags(可選)可選地向服務新增標記
url(可選)將協議、主機、埠和路徑立即設定成簡短的屬性。這個屬性是隻寫的(管理API從來不“返回”url)
protocol(必填)該協議用於與upstream通訊。它可以是http(預設)或https。
host(必填)upstream伺服器的主機。
port(必填)upstream伺服器埠。預設為80
path(可選)在向upstream伺服器請求中使用的路徑。預設為空。
retries(可選)在代理失敗的情況下執行的重試次數。預設值是5。
connect_timeout(可選)建立到upstream伺服器的連線的超時時間。預設為60000。
write_timeout(可選)將請求傳送到upstream伺服器的兩個連續寫操作之間的超時時間。預設為60000。
read_timeout(可選)將請求傳送到upstream伺服器的兩個連續讀取操作之間的超時時間。預設為60000。

如下圖:

 注意:其他使用預設值即可

新增route

  是路由的抽象,他負責將實際的 request 對映到 service

屬性描述
name(可選)定義名稱
tags(可選)

向路由新增標記

protocols(可選)這條路線應該允許的協議列表。預設情況下,它是“http”、“https”,這意味著路由接受這兩種方式。當設定為“HTTPS”時,HTTP請求會被請求升級到HTTPS。通過表單編碼,符號是協議=http&協議=https。使用JSON,使用陣列。
methods(半可選)與此路由相匹配的HTTP方法列表。例如: ["GET", "POST"].至少有一個主機、路徑或方法必須被設定。用表單編碼引數是methods[]=GET&methods[]=OPTIONS。使用JSON,使用陣列。
hosts(半可選)與此路徑匹配的域名列表。例如:example.com. 至少有一個主機、路徑或方法必須被設定。用表單編碼引數是 hosts[]=foo.com&hosts[]=bar.com。使用JSON,使用陣列。
paths(半可選)與此路徑相匹配的路徑列表。例如: /my-path.至少有一個主機、路徑或方法必須被設定。用表單編碼引數是 paths[]=/foo&paths[]=/bar. 使用JSON,使用陣列。
Https redirect status code (可選)當路由的所有屬性都匹配(協議除外)時,即如果請求的協議是HTTP而不是HTTPS,則狀態程式碼Kong將響應。如果欄位設定為301、302、307或308,則位置頭由Kong注入。預設為426。
Regex priority(可選)當多個路由同時使用正規表示式匹配某個給定請求時,用來選擇哪個路由解析該請求的數字。當兩個路由匹配路徑並且具有相同的regex_優先順序時,將使用較舊的路由(最低建立位置)。注意,非regex路由的優先順序不同(較長的非regex路由在較短的路由之前匹配)。預設為0。
strip_path(可選)當通過一條路徑匹配一條路徑時,從upstream請求URL中剝離匹配的字首。預設值為true。
preserve_host(可選)當通過一個主機域名匹配一條路由時,在upstream請求頭中使用請求主機頭。預設設定為false,upstream主機頭將是服務主機的主機頭。

成功建立後,如下圖:

 

注意:填寫內容,需要回車鋪助的,一定不能少。否則不會儲存 

 

測試示例如下:

相關文章