微服务Kong(四)——添加插件

  在本节中,您将学习到,如何配置使用KONG的插件来管理您的API。KONG的核心原则之一就是通过插件来实现API的扩展。插件可以使您更为简单的扩展和管理您的API。

  在以下的步骤中,您将通过配置key-auth插件为您的API添加一个认证的功能。在添加此插件之前,您的所有API都被将代理到上游头。添加并配置此插件后,只有具有正确API密钥的请求会被代理 - 所有其他请求将被KONG拒绝,从而保护您的上游服务免受未经授权的使用,从而实现权限认证功能。

  1. 为您的API配置 key-auth 插件:

  通过以下命令,为之前添加的API新增认证功能:

$ curl -i -X POST \
  --url http://localhost:8001/apis/example-api/plugins/ \
  --data 'name=key-auth'

  NOTE:该插件还接受一个 config.key_names 参数,默认为[apikey]。它表示在一次请求中,应该包含API密钥[apikey]和参数列表,apikey可以放在header中,也可以直接当作一个请求参数来使用。

  2. 确认插件已经正确的配置好了:

  使用以下命令来验证:

$ curl -i -X GET \
  --url http://localhost:8000/ \
  --header 'Host: example.com'

  由于请求中没有指定apikey,所以返回的结果应该是403 Forbidden:

HTTP/1.1 403 Forbidden
...

{
  "message": "Your authentication credentials are invalid"
}

  正确的请求应该是这样的:

$ curl -i -X GET \
  --url http://localhost:8000/ \
  --header 'Host: example.com'
  --header 'apikey=xxx'
posted @ 2017-03-26 20:19  王云十三  阅读(3261)  评论(0编辑  收藏  举报