《5-minute Quickstart》
curl -i -X POST \
--url https://172.17.228.81:8001/services/ \
--data 'name=example-service' \
--data 'url=https://baidu.com'
curl -i -X POST \
--url https://172.17.228.81:8001/services/example-service/routes \
--data 'hosts[]=example.com'
curl -i -X GET \
--url https://172.17.228.81:8000/ \
--header 'Host: example.com'
curl -i -X POST \
--url https://172.17.228.81:8001/services/example-service/plugins/ \
--data 'name=key-auth'
# 验证插件的作用
curl -i -X GET \
--url https://localhost:8000/ \
--header 'Host: example.com'
# 返回401
HTTP/1.1 401 Unauthorized
Date: Fri, 29 Jun 2018 07:38:43 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
WWW-Authenticate: Key realm="kong"
Server: kong/0.13.1
{"message":"No API key found in request"}
项目地址 kong-dashboard
docker pull pgbi/kong-dashboard
# 运行
docker run -d --name kong-dashboard \
--rm -p 8080:8080 pgbi/kong-dashboard \
start --kong-url https://172.17.228.81:8001
通过图形化界面管理Kong
插件说明 plugins
认证 |
免费 |
basic-auth |
Basic Authentication |
对于服务或者路由提供用户名/密码基本认证机制 |
认证 |
免费 |
key-auth |
Key Authentication |
对于服务或者路由提供用关键字认证机制 |
认证 |
收费 |
- |
OpenID Connect |
提供与三方OpenID的集成方式 |
认证 |
免费 |
oauth2 |
OAuth 2.0 Authentication |
添加OAuth 2.0认证 |
认证 |
收费 |
- |
OAuth 2.0 Introspection |
提供与三方OAuth 2.0认证服务器的集成方式 |
认证 |
免费 |
hmac-auth |
HMAC Authentication |
提供HMAC(Hashed Message Authentication Code)签名认证方式 |
认证 |
免费 |
jwt |
JWT |
提供JWT(JSON WEB Token)的认证方式 |
认证 |
免费 |
ldap-auth |
LDAP Authentication |
提供了与LDAP认证服务器的集成方式 |
安全 |
免费 |
acl |
ACL |
通过ACL(Access Control List)的组名称对服务或者路由进行黑白名单的访问控制 |
安全 |
免费 |
cors |
CORS |
对服务或者路由提供CORS支持 |
安全 |
免费 |
ip-restriction |
IP Restriction |
通过IP地址对服务或者路由进行黑白名单的访问控制 |
安全 |
免费 |
bot-detection |
Bot Detection |
对服务或者路由提供机器人检出并能进行黑白名单的设定 |
安全 |
免费 |
ssl |
Dynamic SSL |
对路由或者API提供ssl支持 |
流量控制 |
收费 |
- |
EE Canary Release |
提供金丝雀发布支持 |
流量控制 |
收费 |
- |
EE Forward Proxy |
提供企业内网中前向代理的支持 |
流量控制 |
收费 |
- |
EE Proxy Caching |
提供代理缓存的加速功能 |
流量控制 |
免费 |
request-size-limiting |
Request Size Limiting |
可以对请求的body的size进行限制 |
流量控制 |
免费 |
rate-limiting |
Rate Limiting |
提供对给定时间段HTTP请求数目的控制功能 |
流量控制 |
收费 |
- |
EE Rate Limiting |
CE版本Rate Limiting的强化 |
流量控制 |
免费 |
response-ratelimiting |
Response Rate Limiting |
基于用户响应Header的信息,提供对HTTP请求数目的控制功能 |
流量控制 |
免费 |
request-termination |
Request Termination |
根据响应的状态码和信息,可停止对某个服务或者路由的流量 |
分析&监控 |
免费 |
zipkin |
Zipkin |
提供兼容zipkin的方式对用户请求进行追踪 |
分析&监控 |
免费 |
datadog |
Datadog |
可将API的指标信息在datadog上进行可视化地展示 |
分析&监控 |
免费 |
runscope |
Runscope |
结合runscope进行API性能测试和监控 |
转换 |
免费 |
request-transformer |
Request Transformer |
通过kong对请求进行转换 |
转换 |
收费 |
- |
EE request Transformer |
request Transformer的强化版 |
转换 |
免费 |
response-transformer |
Response Transformer |
通过kong对响应进行转换 |
转换 |
免费 |
correlation-id |
Correlation ID |
通过kong实现请求和响应之间的关联 |
日志 |
免费 |
tcp-log |
TCP |
发送请求和响应日志到TCP服务器 |
日志 |
免费 |
udp-log |
UDP |
发送请求和响应日志到UDP服务器 |
日志 |
免费 |
http-log |
HTTP |
发送请求和响应日志到HTTP服务器 |
日志 |
免费 |
file-log |
File |
发送请求和响应日志到磁盘的文件中 |
日志 |
免费 |
statsd |
StatsD |
发送请求和响应日志到StatsD服务器 |
日志 |
免费 |
syslog |
Syslog |
发送请求和响应日志到syslog中 |
日志 |
免费 |
syslog |
Loggly |
发送请求和响应日志到Loggly服务器 |