一、简介

路由用来匹配客户端向上游服务器请求的规则,也就是客户端调用的 API,每个路由(Route)和一个服务(Service) 相关联,一个服务可有有多个路由,我们可以对每一条路由进行细粒度的配置,可以使用正则表达式进行通用的配置。

二、重要属性

创建一个路由需要配置的属性,其中路径 paths 为必须设置,其余为可选。

Attributes Description
name 路由名称
protocols 可以请求该路由的协议,默认为 [“http”, “https”]
methods 方法,如 GET,POST,DELETE,PATCH,PUT
hosts 匹配此路由的域名列表,可设置多个值
paths 匹配此路由的路径,也就是 API,可以设置多个值
regex_priority 路由请求的优先级,数字越大的在数字越小的之前匹配,默认为0
strip_path 当通过一条路径进行请求时,从上游中去掉匹配的前缀,默认为 true,如果上游的路径和配置的请求路径或者前缀一样,配置路由时需要配置为 false。

三、操作示例

1、创建路由
POST /services/{service name or id}/routes
curl -i -X POST \--url http://localhost:8001/services/myservice/routes \--data 'hosts[]=gateway.com' \--data 'name=getBlackRoles' \--data 'strip_path=false' \--data 'paths[]=/blackRoles'\--data 'methods[]=GET&methods[]=POST' \
2、查询路由

查询所有路由

GET /routes
curl -i -X GET \--url http://localhost:8001/routes \

查询某个服务的路由

GET /services/{service name or id}/routes
curl -i -X GET \--url http://localhost:8001/services/myservice/routes \
3、搜索路由

根据路由名称或 id 搜索

GET /routes/{route name or id}
curl -i -X GET \--url http://localhost:8001/routes/getBlackRoles \

搜索特定服务的路由

GET /services/{service name or id}/routes/{route name or id}
curl -i -X GET \--url http://localhost:8001/services/myservice/routes/getBlackRoles \
4、更新路由

根据路由 ID 或名称更新路由

PATCH /routes/{route name or id}
curl -i -X PATCH \--url http://localhost:8001/routes/getBlackRoles \--data 'hosts[]=gateway.com' \--data 'name=getBlackRole' \--data 'strip_path=false' \--data 'paths[]=/blackRoles'\--data 'methods[]=GET&methods[]=POST' \

更新指定服务的路由

PATCH /services/{service name or id}/routes/{route name or id}
curl -i -X PATCH \--url http://localhost:8001/services/myservice/routes/getBlackRole \--data 'hosts[]=gateway.com' \--data 'name=getBlackRoles' \--data 'strip_path=false' \--data 'paths[]=/blackRoles'\--data 'methods[]=GET&methods[]=POST' \
5、更新或创建路由

根据路由名称或 ID 更新

PUT /routes/{route name or id}
curl -i -X PUT \--url http://localhost:8001/routes/getBlackRoles \--data 'hosts[]=gateway.com' \--data 'name=getBlackRoles' \--data 'strip_path=false' \--data 'paths[]=/blackRoles'\--data 'methods[]=GET&methods[]=POST' \

更新指定服务的路由

PUT /services/{service name or id}/routes/{route name or id}
curl -i -X PUT \--url http://localhost:8001/services/myservice/routes/getBlackRoles \--data 'hosts[]=gateway.com' \--data 'name=getBlackRoles' \--data 'strip_path=false' \--data 'paths[]=/blackRoles'\--data 'methods[]=GET&methods[]=POST' \
6、删除路由

根据路由ID或名称删除路由

DELETE /routes/{route name or id}
curl -i -X DELETE \--url http://localhost:8001/routes/getBlackRoles \

删除指定服务的路由

DELETE /services/{service name or id}/routes/{route name or id}
curl -i -X DELETE \--url http://localhost:8001/services/myservice/routes/getBlackRoles \

相关资料

Kong官方文档(路由) :https://docs.konghq.com/1.4.x/admin-api/#route-object

公众号:【星尘Pro】
github:https://github.com/huangliangyun

推荐阅读
史上最全,最完美的 JAVA 技术体系思维导图总结,没有之一!
全站导航 | 文章汇总!

Kong 网关 | Route相关推荐

  1. kong 网关教程入门

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 为什么使用API-Gateway 1. 方便客户端维护-- 每个请求方不用管理多个api url,统一访问api-gateway即可 2. 接口重构时 ...

  2. 以Docker方式安装和配置Kong网关和Konga控制台

    文章目录 以Docker方式安装和配置Kong网关和Konga控制台 前言 安装Kong 创建容器网络 启动PostgreSQL数据库 初始化数据 对Kong Admin API作安全防护 启动Kon ...

  3. 在K3s上使用Kong网关插件,开启K3s的无限可能!

    我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...

  4. kong 网关 结合 nacos 动态路由,服务上下线,加载插件

    kong 怎么根据nacos的服务自动路由,加载服务呢 先梳理逻辑 kong路由动态控制服务的说明 逻辑说明 核心流程说明: 此服务中存在的冲突及问题 插件的加载 附上部分代码 先梳理逻辑 本文参考: ...

  5. kong 网关日志格式修改

    kong 网关日志格式修改 kong网关默认日志在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和ng ...

  6. centos6.5 安装 kong 网关

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 最近要求了解下kong网关,然后在网上一顿找,说实话,度娘的力量还是不行啊,找出来的那些跟着配置,不 ...

  7. Kong网关简介安装

    转载 李亚飞 大佬的文章:https://www.lyafei.com/ 背景 我们有批设备卖给了海外的服务商,老外请了第三方检测机构,检测设备与我们系统的安全性,结果找到了近 40+ 的安全漏洞,有 ...

  8. KONG网关 — 介绍安装

    网关是微服务中不可或缺的一部分,它承载了所有请求流量入口,参数验证拦截,用户权限验证,但是除了JAVA的spring cloud之外,公共网关屈指可数,其中最受关注的就是KONG了,笔者半年前就已经在 ...

  9. Kong网关upstream健康检查机制

    目录 upstream概念及作用 健康检查 健康检查方式 判定target是否健康 判定upstreams是否健康 两种康检查的区别 启用和禁用健康检查 禁用健康检查 使用总结 upstream概念及 ...

最新文章

  1. linux 查看目录挂载的ip,Linux挂载IPSAN和FCSAN操作,Linux挂载NFS文件系统
  2. QSAR生命的发动机卟啉c20h14n4---用反向传导做卟啉的分子模型
  3. Python中的eval(),exec()以及其相关函数
  4. Shutdown SpringBoot App
  5. JavaScript 里变量名前面加了大括号代表什么含义
  6. python爬取歌曲评论_python 爬取歌曲评论的简单示例
  7. python实现logistic回归对样本量有要求么_logistic回归样本量多少合适?
  8. LINUX的简单命令
  9. scp 覆盖_SCP-002 - “生活”室
  10. unity animator 动画 结束后保持位移_Unity动画系统详解9:Target Matching是什么?
  11. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_2 请求参数绑定实体类型
  12. 拯救安卓手机的数据(无法进入系统只能打开recovery)
  13. 论文中中英文摘要格式怎么写?
  14. Android VelocityTracker简介
  15. vue+elementUI实现空格或回车在input内添加小标签的功能
  16. 为图片添加LOMO效果
  17. java抢红包_Java 用Redis 实现抢红包功能
  18. C++ 编程练习——猴子吃桃问题
  19. android连接和断开蓝牙音箱的问题
  20. 对拍时如何生成一棵树

热门文章

  1. 原声js控制浏览器全屏或者退出全屏
  2. 免费做淘宝TOP Taoapi.com测试平台历程
  3. springmvc上床多个文件简单记录
  4. python开发之旅——面向对象【人狗大战】
  5. Python学习笔记(一)数据类型
  6. 用计算机答题答案提交后能否改错,中高考电脑阅卷流程曝光!不避开这些“坑”,你就要白白丢分了!...
  7. python 升级setuptools_PIP无法升级setuptools
  8. 读书分享:巴菲特推荐的投资书籍《投资最重要的事》
  9. 中国剩余定理扩展中国剩余定理
  10. MsBuild.exe的坑