注意:先有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主机头将是服务主机的主机头。 |
成功创建后,如下图:
注意:填写内容,需要回车铺助的,一定不能少。否则不会保存
测试示例如下: