API网关Kong使用指南(四)—— hmac-auth插件配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了API网关Kong使用指南(四)—— hmac-auth插件配置相关的知识,希望对你有一定的参考价值。
参考技术A为了提高系统的安全性,引入认证功能是非常迫切和必须的。由于认证是一个通用功能,没有必要每个系统各自实现,造成重复劳动,因此,我们在Kong转发时配置了认证插件。
Kong官网提供的关于认证插件很多,有17个之多,我们挑选了其中三个比较适合的插件作出对比:
参考淘宝及中通开放平台的api协议规则,它们也是采用类似HMAC这种带签名的认证方式实现防篡改功能,因而,我们决定采用hmac-auth插件提供认证功能。
由于我们不能确定日后所有 Service 都必须支持认证功能,所以暂时不能把这个认证插件配置成全局插件。于是,我们的配置插件步骤是:
虽然插件已经生效,但没有相关证书是无法有效使用的,所以此时要添加消费者和证书。此处步骤相对简单。
系列链接
微服务之API网关:kong:使用场景之路由功能
API网关,在介绍spring cloud的时候我们也曾提到过zuul,并使用zuul做了一个简单的实验证明zuul是可以实现网关的路由功能的,在这篇文章中,我们会同样使用类似简单的例子来验证kong在此种场景下的使用。
spring cloud之zuul的类似实现
场景说明
就像kong的中心化部署方式中所展示的那样,我们希望api通过kong来统一进行访问
微服务模拟
使用如下tornado的镜像启动两个用于演示服务的容器
拉取tornado镜像
服务准备
事先准备一个用于模拟用户的服务和一个用于模拟组织的服务,其区别在于端口不同
准备用户服务
确认用户服务
准备组织服务
确认组织服务
这样通过不同端口访问的API就准备好了,接下来来看一下如何类似zuul一样,kong是怎样实现路由控制的功能的
服务注册
注册用户服务
在kong中使用如下api进行用户服务注册
注意点,通过url结合apis/在8001端口对服务进行管理,其次upstream_url此处的访问需要使用IP或者容器IP,总之需要能够在容器和宿主机器之间能够访问的前提
执行日志
注册组织服务
执行日志
路由控制
这样两个服务都在kong中进行了注册,接下来就可以通过kong的8000端口对这两个服务进行控制,控制的方式是通过指定Host: xxx来实现的
访问用户服务
可通过如下方式访问用户服务
执行日志
访问组织服务
可通过如下方式访问组织服务
执行日志
总结
在这篇文章中,我们了解到了kong的常见使用场景之一,它有类似zuul一样的功能,可以提供路由控制等api网关所能提供的功能,而实际本质上则是通过nginx对Host进行设定而实现路由选择的。
以上是关于API网关Kong使用指南(四)—— hmac-auth插件配置的主要内容,如果未能解决你的问题,请参考以下文章