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端口的正常可用性。

Kong[nginx]-03 Service和Route配置使用_第1张图片
aaa.com.png

Kong[nginx]-03 Service和Route配置使用_第2张图片
bbb.com.png

配置Kong的Service

打开konga后台管理画面,打开Service,


Kong[nginx]-03 Service和Route配置使用_第3张图片
service-01.png

我们这里新建一个Service.

Kong[nginx]-03 Service和Route配置使用_第4张图片
service-new.png

按图所示, 我们输入9000端口使用的服务http://localhost:9000/。然后,点击画面底图的 SUBMIT SERVICE,完成服务新建。

配置Kong的Route

这里的Route(路由)都必需从一个Service(服务)开始新建。所以,我们点击刚刚新建好的服务名称,点击Routes,进入Routes列表页, 再点击ADD ROUTE,进入Route新建画面。

Kong[nginx]-03 Service和Route配置使用_第5张图片
route-01.png

Kong[nginx]-03 Service和Route配置使用_第6张图片
route-02.png

在填写 Hosts,Paths,Methods这三个空行时,记得输入一个信息后,要按一下回车,才算输入成功(这里被小坑了一下)。完成后,点击底部绿色按钮,完成Route新建。

Kong[nginx]-03 Service和Route配置使用_第7张图片
route-new.png

验证配置结果

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

应该能正常访问:


Kong[nginx]-03 Service和Route配置使用_第8张图片
aaa.com-ok.png

输入 http://bbb.com/v1/user/get, 会发现访问出错。

Kong[nginx]-03 Service和Route配置使用_第9张图片
bbb.com-ng.png

因为我们在上面的route配置时,限定了访问URL的域名过滤,也就是说 目前只支持包含 aaa.com这个域名的接口访问。

如果你的服务器只绑定了一个域名,看到这里,可以路过后面的部分 :)。

多域名配置

跟上面的步骤类似,我们为 bbb.com 这个域名 绑定 9001端口的服务。

Kong[nginx]-03 Service和Route配置使用_第10张图片
service-bbb.com.png

Kong[nginx]-03 Service和Route配置使用_第11张图片
route-03.png

此时访问 http://bbb.com/v1/user/get 就可以拿到正常的返回值。

Kong[nginx]-03 Service和Route配置使用_第12张图片
bbb.com.ok.png

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


KONG专题目录


你可能感兴趣的:(Kong[nginx]-03 Service和Route配置使用)