kong ubuntu 16.04 学习笔记(2)
1.添加API
curl -i -X POST \
--url http://localhost:8001/apis/ \
--data 'name=example-api' \
--data 'hosts=example.com' \
--data 'upstream_url=http://mockbin.org'
我自己测试把 name=接口名,hosts=方法名,upstream_url=http://10.21....:5057/xx/xx
创建成功后会有:HTTP/1.1 201 Created 后面还有 一些json信息(创建时间、读取超时时间等等)
2.请求添加好的API
curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: example.com'
请求成功:HTTP/1.1 200 OK 后面还有这个页面的html信息
3.使用key-auth 认证 插件
1)接口使用认证插件
curl -i -X POST \
--url http://localhost:8001/apis/example-api/plugins/ \
--data 'name=key-auth'
--data "config.hide_credentials=true"
这种方式是对 第一步 添加的 name=example-api 这个接口使用认证插件(官网上有不区分接口名称,对所有接口都使用插件的例子)
创建成功后我们再 使用 curl -i -X GET --url 'http://localhost:8000' --header 'Host: example.com' 访问这个地址就会被拒绝,返回:
HTTP/1.1 401 Unauthorized
要使用这个接口必须使用 通过消费者 生成出的 apikey,
2)生成消费者
使用 curl -X POST http://localhost:8001/consumers/ --data "username=USERNAME" --data "custom_id=CUSTOM_ID" 创建一个消费者,一个消费者可以有多个认证
3)生成apikey
创建好消费者后,使用curl -X POST http://localhost:8001/consumers/{USERNAME}/key-auth -d '' 此处的 USERNAME 对应消费者名称,会生成key
{"id":"e5839af9-9f91-4e99-8671-498ac9a476f0","created_at":1517475858000,"key":"928qVqMMvWp0w1Flz75EXLZNUMhkq48g","consumer_id":"596d937a-c0be-4777-bcac-dca575691fac"}
再使用 curl -i -X GET --url 'http://localhost:8000' --header 'HOST:example.com' -H 'apikey:928qVqMMvWp0w1Flz75EXLZNUMhkq48g' 就可以访问了。