0


Kong网关UI -> Kong Manager 使用

本篇文章就是使用总结,针对 kong网关的原理网上很多。

一:kong网关版本 kong-3.5 开源版本

二:kong网关安装

Installation Options - v3.5.x | Kong Docs

三:通过kong manager管理 kong网关

1)开启 kong manager

Enable Kong Manager - v3.5.x | Kong Docs

开启参数信息

  1. admin_gui_listen = 10.19.9.17:8002
  2. admin_gui_url = http://10.19.9.17:8002/manager
  3. admin_gui_path = /manager

重启 kong 网关

kong restart

2) 使用 kong manager

浏览器打开 kong manager 页面

3)添加 kong gateway service

点击 Gateway services ---> New Gateway Service

  1. Name: 对外访问域名
  2. Tags: 标签自定义,可为空

  1. Protocol : 对外通信协议 此处选择 http
  2. Host: 上游服务器 upstreams 主机,此处区分大小写
  3. Path: path路径 默认为/
  4. Port: 对外端口,kong网关默认对外为 8000 8443 ssl
  5. Retries: 对上游服务器重试次数
  6. Connection Timeout 对上游服务器连接超时时长,默认为 60000毫秒
  7. Write Timeout 对上游服务器写超时时长,默认为 60000毫秒
  8. Read Timeout:对上游服务器读超时时长,默认为 60000毫秒

4)添加 upstreams

upstreams ---> new upstream

  1. Name: 此处可以下拉选择
  2. Host Header: 此处当后端 targets为域名时可配置后端服务域名信息,如过为 IP 地址可以省略不写
  3. Client Certificate:上游服务器证书选择
  4. tags: 标签自定义

  1. AIgorithm : 负载均衡方式
  2. Round Robin: 负载均衡
  3. Least Connections: 最少连接
  4. Consistent Hashing: 一致性 hash
  5. Latency:
  6. Slots 默认即可
  7. Hashon: 是否开启一致性回话保持
  8. None: 不开启
  9. Consumer: 基于用户
  10. IP 基于访问 IP
  11. Header: 基于头部信息
  12. Cookie: 基于 cookie
  13. Path: 基于访问路径
  14. Query Argument: 基于查询参数
  15. Hash Fallback: 如果主 Hash on 没有数据传入,使用下面替代

5)Upstrems里添加 Targets

点击 Upstrems 下 对应的 Upstreams Name ---> 点击 Targets ---> New Target

  1. Target Address: 上游服务器 IP + Port 端口必填,默认为 8000
  2. Weight: 服务器权重

6)添加路由 router

Gateway Service --> 点击网关Name --> Routes --> New Route

Name: 路由名称 自定义

Tags: 标签

  1. Protocols: 路由协议
  2. Paths: 匹配路由
  3. Hosts: 与此路由匹配的主机域名
  4. Methods: 允许的访问方式,默认为所有
  5. Headers: 访问头部信息自定义

  1. Strip Path 匹配路径/ 是否截掉 默认为截取
  2. Preserve Host
  3. Request buffering 请求缓存
  4. Response buffering 响应缓存

以上 kong service ---> kong upstrem ---> kong route 三个模块全部配置完成即可正常访问后端服务。

四: 路由添加组件

1)rate limiting 组件

针对组件分两种,针对 Service, 针对 Servie下的 Routes

此处介绍针对 Routes添加 组件

Routes --> Route name --> Plugins --> New Plugin --> rate-limiting

  1. Global: 针对所有 Gateway services Routes Consumers 生效,一般不使用全局生效模式
  2. Scoped: 针对单独一项生效,此处针对 单一Routes生效
  3. Gateway Service: 选择生效的 Gateway 当选择 Routes下插件生效时,此处默认为空
  4. Route: 选择对应的 Routes 生效
  5. Consumer: 没有定义 Consumer时此处为空

  1. day: 每天限制访问的数量
  2. error_code: 超出限制提示响应码
  3. error_message 超出限制提示信息
  4. fault_tolerant: 过错宽容,当后端数据库连接失败,默认限速自动失效
  5. hour: 一小时允许访问次数
  6. limit_by: 针对客户请求类型 进行限制
  7. minute: 一分钟允许访问次数
  8. month: 一个月允许访问次数
  9. path: 访问路径现在 默认为空即可
  10. policy: 访问次数统计存储选择,生产环境建议选择 redis 必选项,不能为空
  11. second: 秒并发次数 限制频率主要修改此处的值
  12. sync_rate: 计数器同步到后端存储服务器
  13. year: 限制一年访问的次数

此处配置每秒允许访问次数为 2, 测试方式,快速点击刷新访问路径,当每秒访问次数大于 2 时,出现下面速率限制提示。

2)ip-restriction 组件

此组件为防火墙组件

  1. 上面配置同 rate-limit
  2. 主要为下面白/黑名单配置
  3. allow: 白名单
  4. deny: 黑名单
  5. message: 消息提示
  6. status: 状态吗

测试

3)key-auth 组件

  1. key_in_body: 验证值是否在 body主体
  2. key_in_header: 验证值是否在 header头部
  3. key_in_query: 验证值是否在查寻请求中
  4. key_names: key name 需要提前在 consumers 里定义 value
  5. run_on_preflight: 是否允许 options 请求类型

在 consumers里定义 keyapi

keyapi 里定义 value

测试

当 key的值错误时提示 认证失败

标签: 运维 kong

本文转载自: https://blog.csdn.net/m0_64417032/article/details/135015395
版权归原作者 Mr.Lilh 所有, 如有侵权,请联系我们删除。

“Kong网关UI -> Kong Manager 使用”的评论:

还没有评论