在本节中,您将学习到,如何配置使用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  Forbidden
... {
"message": "Your authentication credentials are invalid"
}

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

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

微服务Kong(四)——添加插件的更多相关文章

  1. 微服务Kong(三)——添加一个API

    在开始前,请确保您已经安装了KONG服务,并且已经启动了KONG服务. 在本节中,您可以学习到:如何在KONG层添加一个API.这是您使用KONG来管理您的API的第一步.对于此篇教程,我们将使用 h ...

  2. 微服务Kong(八)——代理参考

    Kong侦听四个端口的请求,默认情况是: 8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务.这也是本教程中最主要用到的端口. 8443:此端口是Kong监听H ...

  3. 微服务Kong(九)——认证参考

    客户端访问上游API服务,通常由Kong的认证插件及其配置参数来控制. 通用认证 一般情况下,上游API服务都需要客户端有身份认证,且不允许错误的认证或无认证的请求通过.认证插件可以实现这一需求.这些 ...

  4. go微服务系列(四) - gRPC入门

    1. 前言 2. gRPC与Protobuf简介 3. 安装 4. 中间文件演示 4.1 编写中间文件 4.2 运行protoc命令编译成go中间文件 5. 创建gRPC服务端 5.1 新建Produ ...

  5. Re:从 0 开始的微服务架构--(四)如何保障微服务架构下的数据一致性--转

    原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的, ...

  6. 微服务Kong(五)——添加一个用户(Consumer)

    在本节中,我们将学习如何添加一个用户(consumer)到KONG实例中.用户是与使用您的API的个人相关联,可用于跟踪,访问管理等. NOTE:本节假设您已经正确启用了密钥验证插件.如果没有,请参考 ...

  7. 微服务Kong(一)——简介

    重要提示: 本教程是根据 KONG 0.10.x 版本进行编写的. 一.什么是KONG Kong是一个可扩展的开源API层(也称为API网关或API中间件).它运行在任何RESTful API之前,并 ...

  8. 微服务Kong(十)——负载均衡参考

    KONG为请求多个后端服务提供了多种负载均衡方案:一种是简单的基于DNS,另一种是更加动态的环形均衡器,他在不需要DNS服务器的情况下也允许服务注册. 一.基于DNS的负载均衡 当使用基于DNS的负载 ...

  9. 微服务Kong(六)——配置参考

    1. 配置加载 如果您通过其中一个官方软件包安装了Kong,Kong会附带默认配置文件,该文件可以在/etc/kong/kong.conf.default中找到.要开始配置Kong,您可以复制此文件: ...

随机推荐

  1. 7.使用ZookeeperNet进行CDU操作参数详解

    一.创建,删除,更新 1. zkCli.sh 中使用命令执行. 2. 学会查看api文档 zookeeper C# driver 官方文档,文档是java代码的. http://zookeeper.a ...

  2. php萌新|学习|排坑|のmysqli_error()方法的妙用

    从开始学习php当现在已经有一个月多.除了每天完成公司布置的日常汇报,也没有耐下性子写一写自己想写的东西.今天就当起个头,坚持一周有个两三片文章或者小总结,也不枉费自己的付出.(我自己都不信,你会信吗 ...

  3. MSP430 G2553 低功耗模式LPMx

    MSP430除了正常运行时的active模式外,还支持五种低功耗模式(Low-power mode),分别为LPM0.LPM1.LPM2.LPM3.LPM4,由状态寄存器中的CPUOFF.OSCOFF ...

  4. Selenium窗口切换-----Selenium快速入门(六)

    有时候,我们打开多个窗口,进行多窗口操作,那么窗口间该如何切换呢? 切换的方法有两个,一个是通过窗口标题来验证,另一个是通过窗口特定的内容来验证,这两个方法都要求得到的标题或内容是唯一的. 用到的相关 ...

  5. [C#]C#中ToString()和Convert.ToString()的区别

    一.一般用法说明 ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型, ...

  6. Kafka与.net core(一)安装

    1.安装JDK 目前官网不能直接下载,在网上找到1.8.0版本安装包下载到本地. 1.1.下载jdk并解压 [root@iz2zei2y693gtrgwlibzlwz java]# ls jdk1.. ...

  7. HTTP Error 502.5 - Process Failure Win10 VS可以正常访问,部署本地IIS报错

    最近本core得升级导致各种问题,之前刚解决了server2012的502.5问题 今天本机又出现这个问题. 情况描述:VS可以正常调试查看,部署本地IIS访问 错误502.5 分析:VS可以使用II ...

  8. Maven新建项目产生Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resource

    需要 打开并修改conf/settings.xml,添加如下内容: <!-- 设置本地仓库位置--> <localRepository>F:\maven\repository& ...

  9. let、const和var的区别

    1.let是块级作用域,函数内部使用let定义后,对函数外部无影响. <!DOCTYPE html> <html lang="en"> <head&g ...

  10. mxonline实战17,上线部署

    在线演示: http://47.244.22.82 python3+django2.0的环境 需要安装的库pip install django-simple-captcha django-pure-p ...