Kong[nginx]-03 Service和Route配置使用


KONG專題目錄


Kong的Service和Route實戰

  • 本文目標:實踐Kong的service和route基礎配置功能,實現簡單的API接口代理功能。

  • 實踐環境:

    • 虛擬機環境:CentOS7 192.168.175.130
    • 開發機環境:Win7
  • 前期準備:

    ? 把windows和CentOS的hosts都添加如下的修改:

    192.168.175.130 aaa.com
    192.168.175.130 bbb.com
    
  • 基礎流程:

    • 把一臺主機綁定兩個域名,在主機上啟動兩個獨立的服務,通過Kong的80端口對外提供服務。

編寫測試用的微服務

這里我們使用SpringBoot 完成一個測試API,代碼如下:

@RestController
@SpringBootApplication
public class UserApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }

    @RequestMapping("/v1/user/get")
    public String get(HttpServletRequest request) {
        return "Hi, man, this is user one  ====> " + request.getRequestURL();
    }
    // 這個方法用來查看Kong轉發到Java這邊的URL信息
    @RequestMapping("/**")
    public String defaultValue(HttpServletRequest request){
        return "default : " + request.getRequestURL();
    }
}

使用命令行工具 mvn clean package 生成jar包后,把包放到CentOS服務器。
使用下列的命令啟動兩個服務:

nohup java -Xms32m -Xmx64m -jar user-0.0.1-SNAPSHOT.jar --server.port=9000 &
nohup java -Xms32m -Xmx64m -jar user-0.0.1-SNAPSHOT.jar --server.port=9001 &

首先測試直接通過9000、9001端口的正常可用性。

aaa.com.png

bbb.com.png

配置Kong的Service

打開konga后臺管理畫面,打開Service,


service-01.png

我們這里新建一個Service.

service-new.png

按圖所示, 我們輸入9000端口使用的服務http://localhost:9000/。然后,點擊畫面底圖的 SUBMIT SERVICE,完成服務新建。

配置Kong的Route

這里的Route(路由)都必需從一個Service(服務)開始新建。所以,我們點擊剛剛新建好的服務名稱,點擊Routes,進入Routes列表頁, 再點擊ADD ROUTE,進入Route新建畫面。

route-01.png

route-02.png

在填寫 Hosts,Paths,Methods這三個空行時,記得輸入一個信息后,要按一下回車,才算輸入成功(這里被小坑了一下)。完成后,點擊底部綠色按鈕,完成Route新建。

route-new.png

驗證配置結果

輸入 http://aaa.com/v1/user/get

應該能正常訪問:


aaa.com-ok.png

輸入 http://bbb.com/v1/user/get, 會發現訪問出錯。

bbb.com-ng.png

因為我們在上面的route配置時,限定了訪問URL的域名過濾,也就是說 目前只支持包含 aaa.com這個域名的接口訪問。

如果你的服務器只綁定了一個域名,看到這里,可以路過后面的部分 :)。

多域名配置

跟上面的步驟類似,我們為 bbb.com 這個域名 綁定 9001端口的服務。

service-bbb.com.png

route-03.png

此時訪問 http://bbb.com/v1/user/get 就可以拿到正常的返回值。

bbb.com.ok.png

至此, 最基礎的Kong 配置已經完成、次回はUPSTREAM機能をやって見よう


KONG專題目錄


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。