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的类似实现

场景说明

微服务之API网关:kong:使用场景之路由功能

就像kong的中心化部署方式中所展示的那样,我们希望api通过kong来统一进行访问

微服务之API网关:kong:使用场景之路由功能

微服务模拟

使用如下tornado的镜像启动两个用于演示服务的容器

微服务之API网关:kong:使用场景之路由功能

拉取tornado镜像

微服务之API网关:kong:使用场景之路由功能

服务准备

事先准备一个用于模拟用户的服务和一个用于模拟组织的服务,其区别在于端口不同

微服务之API网关:kong:使用场景之路由功能

准备用户服务

微服务之API网关:kong:使用场景之路由功能

确认用户服务

微服务之API网关:kong:使用场景之路由功能

准备组织服务

微服务之API网关:kong:使用场景之路由功能

确认组织服务

微服务之API网关:kong:使用场景之路由功能

这样通过不同端口访问的API就准备好了,接下来来看一下如何类似zuul一样,kong是怎样实现路由控制的功能的

服务注册

注册用户服务

在kong中使用如下api进行用户服务注册

微服务之API网关:kong:使用场景之路由功能

注意点,通过url结合apis/在8001端口对服务进行管理,其次upstream_url此处的访问需要使用IP或者容器IP,总之需要能够在容器和宿主机器之间能够访问的前提

执行日志

微服务之API网关:kong:使用场景之路由功能

注册组织服务

微服务之API网关:kong:使用场景之路由功能

执行日志

微服务之API网关:kong:使用场景之路由功能

路由控制

这样两个服务都在kong中进行了注册,接下来就可以通过kong的8000端口对这两个服务进行控制,控制的方式是通过指定Host: xxx来实现的

访问用户服务

可通过如下方式访问用户服务

微服务之API网关:kong:使用场景之路由功能

执行日志

微服务之API网关:kong:使用场景之路由功能

访问组织服务

可通过如下方式访问组织服务

微服务之API网关:kong:使用场景之路由功能

执行日志

总结

在这篇文章中,我们了解到了kong的常见使用场景之一,它有类似zuul一样的功能,可以提供路由控制等api网关所能提供的功能,而实际本质上则是通过nginx对Host进行设定而实现路由选择的。

以上是关于API网关Kong使用指南(四)—— hmac-auth插件配置的主要内容,如果未能解决你的问题,请参考以下文章

开源API网关系统(Kong教程)入门到精通

微服务之API网关:kong:使用场景之路由功能

开源API网关Kong基本介绍和安装验证

API网关Kong使用指南(六)—— 支持HTTPS

使用 Kong 和 Nginx 部署 Api 网关

API网关之Kong简介