一种基于内网微服务架构的网关系统的制作方法

文档序号:20839418发布日期:2020-05-22 17:18阅读:600来源:国知局
一种基于内网微服务架构的网关系统的制作方法

本发明涉及数字信息的传输,例如电报通信的技术领域,特别涉及一种基于内网微服务架构的网关系统。



背景技术:

微服务架构(microservicearchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中、实现对解决方案的解耦;由于微服务架构围绕业务领域组件创建应用,故这些应用可独立地进行开发、管理和迭代,在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。

随着微服务网关架构的不断发展,网关系统根据业务划分为单个微服务,主要解决用户的权限认证、请求的有效性验证等。

现有技术中,在内网环境下,用户发送数据请求,后端的网关系统在内网环境中使用,需要进行请求的校验、服务的转发,并且需要进行多项验证,相应增加请求的耗时时间,存在如何保证系统安全高效运行的问题。



技术实现要素:

本发明解决了现有技术中存在的问题,提供了一种优化的基于内网微服务架构的网关系统。

本发明所采用的技术方案是,一种基于内网微服务架构的网关系统,所述网关系统包括:

一日志记录模块,用于对请求进行记录;

一验证模块,用于对日志记录模块记录的请求进行xss全局过滤器验证;

一配置模块,用于对验证后的请求进行全局跨域配置;

一token验证模块,用于对配置模块配置后的请求进行token验证;

一服务转发模块,利用内网微服务架构、将请求调用到对应的微服务实现对应功能。

优选地,所述日志记录模块记录请求的来源信息、请求的时间信息和浏览器信息。

优选地,所述日志记录模块将记录的信息发送到日志记录微服务并记录至日志。

优选地,所述验证模块中,xss全局过滤器验证包括以下步骤:

步骤a.1:通过配置文件读入配置的字符串数据,将字符串数据切割为数组;

步骤a.2:对数组进行关键词匹配,若匹配成功,则为疑似xss攻击,返回访问结果,否则继续执行全局跨域验证。

优选地,所述步骤a.2中,关键词对应的验证标签包括sql注入类别标签、html注入类别标签及js注入类别标签。

优选地,所述配置模块中,全局跨域配置为将日志服务与用户信息微服务不在同一个网段的请求添加支持跨域的请求头。

优选地,所述token验证模块包括以下验证步骤:

步骤b.1:获取用户请求信息中的请求头信息;

步骤b.2:取出第一个名为authorization的参数信息,替换头部额外添加的字符串bearer;

步骤b.3:从redis缓存中获取token,如命中,则将当前请求对应的用户转换为具体的用户对象,进行下一步,否则,不进行后续验证,返回提示信息;

步骤b.4:取出用户对象中的token信息与传入的token进行匹配,若匹配成功,则进入下一步,否则,验证失败,结束本次请求,返回验证信息。

优选地,所述内网微服务架构中,网关系统对应注册中心设置。

优选地,所述注册中心对应的微服务包括日志微服务和用户服务微服务。

优选地,配置模块配置后,注册中心与日志微服务对接,进行信息交互;token验证模块验证请求成功后,注册中心与用户服务微服务对接,进行信息交互。

本发明涉及一种优化的基于内网微服务架构的网关系统,以日志记录模块对请求进行记录,以验证模块对日志记录模块记录的请求进行xss全局过滤器验证,以配置模块对验证后的请求进行全局跨域配置,以token验证模块对配置模块配置后的请求进行token验证,以服务转发模块利用内网微服务架构、将请求调用到对应的微服务实现对应功能。

本发明中的xss校验过程主要通过关键字匹配方式,只要请求中有对应的关键字,则本次请求将会被拒绝,这表示对于系统中发起的正常请求,只要在请求取名、传参时避免使用xss检验中的关键字即可成功获取到数据,不会影响系统的正常运行;同时将日志的记录异步请求发送到日志记录微服务处理,减少请求耗时。本发明记录请求的来源信息,增加xss校验、token验证、服务转发,保证系统高效安全的运行。

附图说明

图1为本发明的结构示意图,其中,箭头表示信息传输的方向;

图2为本发明的整体流程图。

具体实施方式

下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。

本发明涉及一种基于内网微服务架构的网关系统,作为的多个微服务的入口,通过获取注册中心的微服务信息转发到对应的微服务,实现具体的数据请求。

所述内网微服务架构中,网关系统对应注册中心设置。

所述注册中心对应的微服务包括日志微服务和用户服务微服务。

本发明中,具体来说,微服务架构将系统按功能分类,分为日志微服务、用户服务微服务、网关系统以及注册中心,不同的微服务职责分明,网关系统与注册中心信息交互,注册中心与日志微服务和用户服务微服务信息交互。

所述网关系统包括:

一日志记录模块,用于对请求进行记录;

一验证模块,用于对日志记录模块记录的请求进行xss全局过滤器验证;

一配置模块,用于对验证后的请求进行全局跨域配置;

一token验证模块,用于对配置模块配置后的请求进行token验证;

一服务转发模块,利用内网微服务架构、将请求调用到对应的微服务实现对应功能。

所述日志记录模块记录请求的来源信息、请求的时间信息和浏览器信息。

所述日志记录模块将记录的信息发送到日志记录微服务并记录至日志。

本发明中,请求的来源信息、请求的时间信息和浏览器信息中具体包括记录请求url地址、请求方法类型、请求参数、操作用户、真实姓名、组织机构id、访问接口所属菜单名称、请求的ip地址、模块id、请求开始时间、请求结束时间、请求耗时、代理信息、操作系统、操作浏览器、日志类型等。

本发明中,无论请求是否成功,日志记录模块都将记录的信息发送到日志记录微服务并记录至日志。

所述验证模块中,xss全局过滤器验证包括以下步骤:

步骤a.1:通过配置文件读入配置的字符串数据,将字符串数据切割为数组;

步骤a.2:对数组进行关键词匹配,若匹配成功,则为疑似xss攻击,返回访问结果,否则继续执行全局跨域验证。

所述步骤a.2中,关键词对应的验证标签包括sql注入类别标签、html注入类别标签及js注入类别标签。

本发明中,当前xss请求只针对get请求进行处理。

本发明中,为了尽可能降低系统匹配耗时,故通过配置文件读入配置的字符串数据后切割成数组,对数组进行关键词匹配;由于xss会配置在程序的配置文件中,此处读取的就是xss文本,里面是由敏感词组成的文本,通过逗号分隔。

本发明中,只要是正常的系统的前后端访问,都不在此类定义的标签内,故不会影响系统前后端的正常请求。

本发明中,sql注入类别标签为“delete”、html注入类别标签为“<script>”及“</script>”、js注入类别标签为“alert”及“eval”。

所述配置模块中,全局跨域配置为将日志服务与用户信息微服务不在同一个网段的请求添加支持跨域的请求头。

本发明中,若不进行全局跨域配置则可能接受不到日志记录的请求,导致日志无法正常记录,一般来说,添加请求头allowedorigins:‘*’,即是支持所有跨域的请求。

所述token验证模块包括以下验证步骤:

步骤b.1:获取用户请求信息中的请求头信息;

步骤b.2:取出第一个名为authorization的参数信息,替换头部额外添加的字符串bearer;

步骤b.3:从redis缓存中获取token,如命中,则将当前请求对应的用户转换为具体的用户对象,进行下一步,否则,不进行后续验证,返回提示信息;

步骤b.4:取出用户对象中的token信息与传入的token进行匹配,若匹配成功,则进入下一步,否则,验证失败,结束本次请求,返回验证信息。

本发明中,token验证在网关系统中必不可少,只有经过认证的用户才会获得token信息,非认证通过的用户将被拒绝访问系统。

本发明中,步骤b.4是指,为了防止token伪造,用户中的token信息在登录时会存储在缓存中,请求会携带用户的token到网关,网关进一步匹配token,保证当前登录的用户一定是通过登录之后的用户。

配置模块配置后,注册中心与日志微服务对接,进行信息交互;token验证模块验证请求成功后,注册中心与用户服务微服务对接,进行信息交互。

本发明中,日志微服务不需要进行token验证则会直接转发,不需要进行后续验证过程,获取用户信息需要经过以上步骤才会实现具体转发。

本发明的工作流程为:

步骤1:初始化;日志记录模块收到请求的日志记录;

步骤2:以验证模块判断日志记录是否为xss攻击,若是,则结束本次请求,返回400报错信息,否则,进行下一步;

步骤3:对验证后的请求信息进行全局跨域配置,通过注册中心与日志微服务对接,进行信息交互,同时进行下一步;

步骤4:对全局跨域配置后的请求进行token验证,若验证失败,则结束本次请求,返回401报错信息,否则进行下一步;

步骤5:通过注册中心与用户服务微服务对接,进行信息交互。

其中,步骤3的信息交互为日志信息的存取,步骤5的信息交互包括用户数据的存取,如用户名、真实姓名等。

本发明以日志记录模块对请求进行记录,以验证模块对日志记录模块记录的请求进行xss全局过滤器验证,以配置模块对验证后的请求进行全局跨域配置,以token验证模块对配置模块配置后的请求进行token验证,以服务转发模块利用内网微服务架构、将请求调用到对应的微服务实现对应功能。

本发明中的xss校验过程主要通过关键字匹配方式,只要请求中有对应的关键字,则本次请求将会被拒绝,这表示对于系统中发起的正常请求,只要在请求取名、传参时避免使用xss检验中的关键字即可成功获取到数据,不会影响系统的正常运行;同时将日志的记录异步请求发送到日志记录微服务处理,减少请求耗时。本发明记录请求的来源信息,增加xss校验、token验证、服务转发,保证系统高效安全的运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1