微服务网关的Kong类型网关完全兼容开源Kong网关的所有策略,如路由、负载均衡、流量控制、安全和日志策略等。为了帮助您更好的配置策略,本文对各种策略的配置进行说明。
路由-KONG_ROUTE
每个路由都与一个服务关联,一个服务可能具有多个与其关联的路由。路由策略中定义规则以匹配客户端请求,匹配到路由策略的请求都将被转发到其关联的服务。
此处仅介绍KONG_ROUTE策略的关键属性,更多关于KONG_ROUTE策略的介绍,请参见Route Object。
属性 | 描述 |
---|---|
name | 路由的名称。 |
protocols | 允许的协议列表,默认值为http和https。 |
methods | 允许的HTTP请求方法,默认值为GET和POST。 |
hosts | 匹配的域名列表。 |
paths | 配的路径列表。 |
headers | 匹配的请求头列表。 |
service | 关联的服务。 |
负载均衡-KONG_LOADBALANCE
通过此策略可以实现多个请求的负载均衡处理。
此处仅介绍KONG_LOADBALANCE策略的关键属性,更多关于KONG_LOADBALANCE策略属性介绍,请参见Upstream Object。
属性 | 描述 |
---|---|
services.name | 服务名。 |
services.host | 服务所在IP地址或者域名,也可已设置为关联服务的服务名称。 |
upstreams.name | 设置为关联服务的服务名称。 |
安全-KONG_CORS
通过此策略可以实现将跨域资源共享添加到路由。
此处仅介绍KONG_CORS策略的关键属性,更多关于KONG_CORS策略属性介绍,请参见CORS。
属性 | 描述 |
---|---|
name | 插件名称,固定为cors。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.origins | 允许的域列表,如果允许所有来源,此属性配置为通配符(*)。 |
config.methods | 允许的HTTP请求方式,默认为GET和POST。 |
config.headers | 允许的请求头。 |
安全-KONG_IP_RESTRICTION
通过此策略可以实现允许或拒绝IP地址对路由的访问,支持IPv4和IPv6网段。
此处仅介绍KONG_IP_RESTRICTION策略的关键属性,更多关于KONG_IP_RESTRICTION策略属性介绍,请参见IP Restriction。
属性 | 描述 |
---|---|
name | 插件名称,固定为ip-restriction。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.allow | 允许访问的IP或者网段。
说明 允许属性和拒绝属性两者至少配置一项。
|
config.deny | 拒绝访问的IP或者网段。
说明 允许属性和拒绝属性两者至少配置一项。
|
流量控制-KONG_PROXY_CACHE
通过此策略实现反向代理缓存,根据配置的响应码、内容类型和请求方法来缓存响应实体。缓存实体将存储一段可配置的时间,在此之后。对同一资源的请求将重新获取并存储。
此处仅介绍KONG_PROXY_CACHE策略的关键属性,更多关于KONG_PROXY_CACHE策略属性介绍,请参见Proxy Cache。
属性 | 描述 |
---|---|
name | 插件名称,固定为proxy-cache。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
enabled | 是否启用proxy-cache插件,默认为true。 |
config.response_code | 可缓存的上游响应状态码,默认值200、302和404。 |
config.request_methed | 可缓存的下游请求方式,默认值为GET和POST。 |
config.content_type | 可缓存的上游响应内容类型,默认值test/plain。 |
config.cache_ttl | 以秒为单位的缓存实体时间,默认值500。 |
config.strategy | 支持缓存实体的备份数据存储,固定为memory。 |
流量控制-KONG_REQUEST_SIZE_LIMIT
通过此策略实现阻止请求主体大于配置阈值的请求。
此处仅介绍KONG_REQUEST_SIZE_LIMIT策略的关键属性,更多关于KONG_REQUEST_SIZE_LIMIT策略属性介绍,请参见Request Size Limiting。
属性 | 描述 |
---|---|
name | 插件名称,固定为request-size-limiting。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.allowed_payload_size | 允许的请求主体最大值(以兆字节为单位),默认为128。 |
config.size_unit | 单位,默认值为megabytes,可设置为设置为bytes、kilobytes和megabytes。 |
流量控制-KONG_RATE_LIMIT
通过该策略实现限制在配置的时间内可以发出的HTTP请求数量。
此处仅介绍KONG_RATE_LIMIT策略的关键属性,更多关于KONG_RATE_LIMIT策略属性介绍,请参见Rate Limiting。
属性 | 描述 |
---|---|
name | 插件名称,固定为rate-limiting。 |
service | 插件作用的目标,可以是route、service或者cosumer,此策略以service为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.second | 每秒可以发出的HTTP请求数。
说明 每秒请求数或者每小时请求数至少设置一个。
|
config.hour | 每小时可以发出的HTTP请求数。
说明 每秒请求数或者每小时请求数至少设置一个。
|
流量控制-KONG_RESPONSE_RATE_LIMIT
通过该策略实现根据上游服务响应头设置自定义限速对象,来限制在配置的时间内可以发出的HTTP请求数量。
此处仅介绍KONG_RESPONSE_RATE_LIMIT策略的关键属性,更多关于KONG_RESPONSE_RATE_LIMIT策略属性介绍,请参见Response Rate Limiting。
属性 | 描述 |
---|---|
name | 插件名称,固定为response-ratelimiting。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.limits.{limit_name} | 根据上游服务返回的响应头设置的自定义对象列表,在{limit_name}占位符中设置名称。 |
config.limits.{limit_name}.minute | 每分钟可以发出的HTTP请求数。 |
流量控制-KONG_REQUEST_TERMINATION
通过该策略实现使用指定的状态码和消息终止请求。
此处仅介绍KONG_REQUEST_TERMINATION策略的关键属性,更多关于KONG_REQUEST_TERMINATION策略属性介绍,请参见Request Termination。
属性 | 描述 |
---|---|
name | 插件名称,固定为request-termination。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.status_code | 发送的状态码,默认值为403。 |
config.message | 发送的信息。 |
监控-KONG_DATADOG
通过该策略实现服务数据路由到本地代理。
此处仅介绍KONG_DATADOG策略的关键属性,更多关于KONG_DATADOG策略属性介绍,请参见Datadog。
属性 | 描述 |
---|---|
name | 插件名称,固定为datadog。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.host | 数据发送到的IP地址或主机名。 |
config.port | 数据发送到的服务器端口。 |
监控-KONG_ZIPKIN
通过该策略实现分布式跟踪HTTP请求的范围,并将范围上报给Zipkin服务器。
此处仅介绍KONG_ZIPKIN策略的关键属性,更多关于KONG_ZIPKIN策略属性介绍,请参见Zipkin。
属性 | 描述 |
---|---|
name | 插件名称,固定为zipkin。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.http_endpoint | Zipkin服务器上传路径。 |
config.traceid_byte_count | 每个请求的traceid字节长度。 |
协议-KONG_CERTIFICATE
通过该策略解密进入流量的HTTPS,并添加访问上游流量的HTTPS信任证书。
此处仅介绍KONG_CERTIFICATE策略的关键属性,更多关于KONG_CERTIFICATE策略属性介绍,请参见Certificate Object。
属性 | 描述 |
---|---|
certificates.cert | 用于解密进入流量的HTTPS的公共证书。 |
certificates.key | 用于解密进入流量的HTTPS的私钥。 |
ca_certificates.cert | 添加访问上游流量的HTTPS的信任证书。 |
编辑-KONG_CORRELATION_ID
通过该策略实现通过HTTP header传输的唯一ID关联请求和响应。
此处仅介绍KONG_CORRELATION_ID策略的关键属性,更多关于KONG_CORRELATION_ID策略属性介绍,请参见Correlation ID。
属性 | 描述 |
---|---|
name | 插件名称,固定为correlation-id。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.header_name | HTTP header名称。 |
编辑-KONG_REQUEST_TRANSFORMER
通过该策略实现请求在到达上游服务器之前进行转换。这些转换可以是简单的替换,也可以是复杂的转换,通过使用正则表达式匹配请求的各个部分,将匹配的字符串保存到变量中,然后使用模板将这些字符串替换为转换后的请求。
此处仅介绍KONG_REQUEST_TRANSFORMER策略的关键属性,更多关于KONG_REQUEST_TRANSFORMER策略属性介绍,请参见Request Transformer。
属性 | 描述 |
---|---|
name | 插件名称,固定为request-transformer。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.remove.headers | HTTP header名称列表,取消设置具有指定名称的字符串。 |
config.replace.body | 成对取值的字符串,用新值替换旧值。 |
编辑-KONG_RESPONSE_TRANSFORMER
通过该策略实现在响应返回客户端之前,将上游服务器发送的响应进行转换。
此处仅介绍KONG_RESPONSE_TRANSFORMER策略的关键属性,更多关于KONG_RESPONSE_TRANSFORMER策略属性介绍,请参见Response Transformer。
属性 | 描述 |
---|---|
name | 插件名称,固定为response-transformer。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.remove.headers | HTTP header名称列表,取消设置具有指定名称的字符串。 |
config.add.json | 成对取值的字符串,当该属性不存在时,将给定值添加到字符串。 |
日志-KONG_HTTPLOG
通过该策略实现将请求和响应日志发送到HTTP服务器。
此处仅介绍KONG_HTTPLOG策略的关键属性,更多关于KONG_HTTPLOG策略属性介绍,请参见HTTP Log。
属性 | 描述 |
---|---|
name | 插件名称,固定为http-log。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.http_endpoint | 请求和响应日志需要发送到的HTTP端点。 |
日志-KONG_LOGGLY
通过该策略实现将请求和响应日志发送到Loggly服务器。
此处仅介绍KONG_LOGGLY策略的关键属性,更多关于KONG_LOGGLY策略属性介绍,请参见Loggly。
属性 | 描述 |
---|---|
name | 插件名称,固定为loggly。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.host | Loggly服务器的IP地址或主机名。 |
config.key | Loggly客户令牌。 |
日志-KONG_STATSD
通过该策略实现将请求和响应日志发送到StatsD服务器。
此处仅介绍KONG_STATSD策略的关键属性,更多关于KONG_STATSD策略属性介绍,请参见StatsD。
属性 | 描述 |
---|---|
name | 插件名称,固定为statsd。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.host | StatsD服务器的IP地址或主机名。 |
日志-KONG_TCPLOG
通过该策略实现将请求和响应日志发送到TCP服务器。
此处仅介绍KONG_TCPLOG策略的关键属性,更多关于KONG_TCPLOG策略属性介绍,请参见TCP Log。
属性 | 描述 |
---|---|
name | 插件名称,固定为tcp-log。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.host | TCP服务器的IP地址或主机名。 |
日志-KONG_UPDLOG
通过该策略实现将请求和响应日志发送到UDP服务器。
此处仅介绍KONG_UPDLOG策略的关键属性,更多关于KONG_UPDLOG策略属性介绍,请参见UDP Log。
属性 | 描述 |
---|---|
name | 插件名称,固定为udp-log。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.host | UDP服务器的IP地址或主机名。 |
鉴权-KONG_JWT
通过该策略实现验证请求是否包含JWT Token,只有通过验证的请求,才会转发到上游服务。
此处仅介绍KONG_JWT策略的关键属性,更多关于KONG_JWT策略属性介绍,请参见JWT。
属性 | 描述 |
---|---|
name | 插件名称,固定为jwt。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
consumer.rsa_public_key | 如果algorithm设置为RS256时,该参数用于验证Token签名的公共密钥。 |
consumer.algorithm | 用于验证Token签名的算法,默认值为RS256,可设置为RS256、RS384、RS512、HS256、HS384和HS512。 |
鉴权-KONG_BASIC
通过该策略根据添加用户名和密码实现基本身份验证。
此处仅介绍KONG_BASIC策略的关键属性,更多关于KONG_BASIC策略属性介绍,请参见Basic Authentication。
属性 | 描述 |
---|---|
name | 插件名称,固定为basic-auth。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
basicauth_credentials.username | 用户名。 |
basicauth_credentials.password | 密码。 |
鉴权-KONG_KEY
通过该策略根据添加密钥实现身份验证。
此处仅介绍KONG_KEY策略的关键属性,更多关于KONG_KEY策略属性介绍,请参见Key Authentication。
属性 | 描述 |
---|---|
name | 插件名称,固定为key-auth。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
keyauth_credentials.key | 设置唯一的key验证客户端,如果未设置,自动生成。 |
鉴权-KONG_LDAP
通过该策略根据添加LDAP信息实现绑定身份验证。
此处仅介绍KONG_LDAP策略的关键属性,更多关于KONG_LDAP策略属性介绍,请参见LDAP Authentication。
属性 | 描述 |
---|---|
name | 插件名称,固定为ldap-auth。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
config.ldap_host | LDAP服务器ID或者域名。 |
config.ldap_port | LDAP服务器端口。 |
鉴权-KONG_HMAC
通过该策略根据添加HMAC签名身份验证,以建立传入请求的完成性。
此处仅介绍KONG_HMAC策略的关键属性,更多关于KONG_HMAC策略属性介绍,请参见HMAC Authentication。
属性 | 描述 |
---|---|
name | 插件名称,固定为hmac-auth。 |
route | 插件作用的目标,可以是route、service或者cosumer,此策略以route为例。
如果不指定目标,则视为全局生效,作用到每个请求。 |
hmacauth_credentials.username | 在HMAC签名验证中使用的用户名。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交