System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于反向代理集成Web系统的方法技术方案_技高网

一种基于反向代理集成Web系统的方法技术方案

技术编号:39971883 阅读:10 留言:0更新日期:2024-01-09 00:51
本发明专利技术提供一种基于反向代理集成Web系统的方法,涉及反向代理技术领域,包括:配置反向代理服务器,将反向代理服务器作为中间层,接收用户的请求并代理到主系统;在反向代理服务器上配置反向代理规则,将主系统的请求代理到第三方系统;在反向代理服务器上进行用户身份认证;用户身份认证成功后,反向代理服务器将用户认证信息传递至后端Web服务器。本发明专利技术提供的方法集成多个业务子系统,既包括自己开发的系统,也包括直接采购的第三方子系统,且不用暴露任何子系统地址真实访问地址,将各个子系统的身份认证集中到一个入口,提高系统的安全性,一处控制,各个子系统都适用。

【技术实现步骤摘要】

本专利技术涉及反向代理,尤其涉及一种基于反向代理集成web系统的方法。


技术介绍

1、一个软件系统可能由多套独立的系统集成,这些系统可能来自其它的第三方系统,第三方系统已交付,没法进行自定义开发,此时又需要集成该系统。

2、中国申请号为202011312503.4的专利技术专利公开了基于反向代理服务实现devops自动化的方法,利用反向代理服务,在devops持续集成流程中拦截git仓库交互过程请求的url,针对拦截的url执行协同处理服务操作,配置devops持续集成的jenkins服务,能够提供快速搭建devops持续集成构建环境的工具集以便后续快速安装,以非侵入源代码的方式,利用反向代理技术,通过拦截特定服务应用协同操作,实现自动化。但该技术对于用户个性化服务和系统安全性仍然有待改进。


技术实现思路

1、有鉴于此,本专利技术提供一种基于反向代理集成web系统的方法,集成多个业务子系统,既包括自己开发的系统,也包括直接采购的第三方子系统,且不用暴露任何子系统地址真实访问地址,各个子系统的身份认证集中到一个入口,提高系统的安全性,一处控制,各个子系统都适用。

2、本专利技术的技术方案是这样实现的:本专利技术提供一种基于反向代理集成web系统的方法,包括:

3、s1配置反向代理服务器,将反向代理服务器作为中间层,接收用户的请求并代理到主系统;

4、s2在反向代理服务器上配置反向代理规则,将主系统的请求代理到第三方系统;

5、s3在反向代理服务器上进行用户身份认证;

6、s4用户身份认证成功后,反向代理服务器将用户认证信息传递至后端web服务器。

7、在上述技术方案的基础上,优选的,步骤s1包括:

8、选择nginx作为反向代理服务器,并对nginx进行安装和配置;

9、在nginx的配置文件中,搜索反向代理相关的配置项,在配置项中制定主系统和第三方系统的地址和端口;

10、其中,主系统地址和端口为允许用户访问的主系统的地址和端口,第三方系统的地址和端口为目标集成的第三方系统的地址和端口。

11、在上述技术方案的基础上,优选的,步骤s2中,反向代理规则为url映射规则或重定向规则;

12、其中:

13、url映射规则为在反向代理服务器的配置文件中添加url映射规则,将主系统的url映射到第三方系统的url;

14、重定向规则为在反向代理服务器的配置文件中添加重定向代理规则,将主系统的请求重定向到第三方系统的特定页面。

15、在上述技术方案的基础上,优选的,在nginx的配置文件中定义两个location块,分别处理主系统的前端页面和后端接口地址,其中:

16、前端页面:在一个location块配置根路径/,将请求的根路径映射到/var/local/prod/h5目录下的index.html文件;

17、后端接口地址:在另一个location块配置以/web/开头的路径,将这些路径的请求代理到本系统的http://localhost:8880/地址,同时,在location块添加响应头,根据响应头对跨域请求进行配置,允许跨域请求访问该接口。

18、在上述技术方案的基础上,优选的,步骤s3中,在反向代理服务器上进行用户身份认证的方式为基本身份认证或令牌身份认证,其中:

19、基本身份认证为:用户在每次请求时提供用户名和密码,反向代理服务器将用户名和密码与预先配置的用户信息进行匹配,若匹配成功,则允许此次请求通过,若不成功,则返回401unauthorized响应;

20、令牌身份认证为:用户在进行身份验证后,反向代理服务器将发送一个令牌给用户,用户在每次请求时将令牌作为身份凭据发送至反向代理服务器,反向代理服务器验证令牌的有效性,若令牌有效,则验证通过,否则,返回401unauthorized响应。

21、在上述技术方案的基础上,优选的,反向代理规则为url映射规则,在nginx的配置文件中配置反向代理服务器,进行用户身份认证,包括:

22、配置监听端口9999,并将请求映射至主系统;

23、定义一个内部接口/auth,利用内部接口处理用户身份认证请求,内部接口使用nginx的内部指令internal;

24、配置错误处理页面,当用户身份认证失败时,返回401unauthorized响应;

25、通过设置变量$auth_request_uri,将请求转发到主系统的自定义逻辑处理接口/web/open/getvmurl,并将请求参数$args传递至该自定义逻辑处理接口,以对所有以/开头的请求进行处理;

26、使用auth_request/auth指令,将请求发送到内部接口/auth进行用户身份认证;

27、使用auth_request_set指令,将内部接口返回的权限校验码和第三方系统的真实url保存至变量$new_url中;

28、配置错误页面,当用户身份认证失败时,返回401unauthorized响应;

29、使用proxy_pass指令,将请求转发到第三方系统的真实url。

30、在上述技术方案的基础上,优选的,步骤s4包括:

31、反向代理服务器将用户身份认证的信息作为请求头的一部分传递给后端web服务器;

32、后端web服务器从请求头中获取用户身份认证的信息,并进行相应的处理。

33、在上述技术方案的基础上,优选的,步骤s4还包括:

34、根据用户身份认证的信息,后端web服务器接收/open/getvmurl路径的http请求,分别设置参数httpservletrequest request和httpservletresponse response表示接收到的http请求和要发送的http响应;

35、利用自定义的验证逻辑验证用户是否有权限访问,若没有权限,则返回401unauthorized响应,若有权限,则执行自定义的获取逻辑来获取第三方系统的真实url;

36、通过response.setheader方法将获取到的第三方系统的真实url设置到响应的头部进行http响应。

37、在上述技术方案的基础上,优选的,所述方法还包括:利用反向代理服务器对用户会话进行管理,确保在用户与后端web服务器之间的通信中保持会话的一致性。

38、在上述技术方案的基础上,优选的,反向代理服务器对用户会话进行管理的过程为:

39、当用户进行身份认证或与应用建立会话时,反向代理服务器生成一个唯一的会话标识符;

40、在用户的每次请求中,反向代理服务器将会话标识符作为参数、请求头或cookie的形式传递给后端web服务器;

41、后端web服务器接收到会话标识本文档来自技高网...

【技术保护点】

1.一种基于反向代理集成Web系统的方法,其特征在于,包括:

2.如权利要求1所述的一种基于反向代理集成Web系统的方法,其特征在于,步骤S1包括:

3.如权利要求2所述的一种基于反向代理集成Web系统的方法,其特征在于,步骤S2中,反向代理规则为URL映射规则或重定向规则;

4.如权利要求3所述的一种基于反向代理集成Web系统的方法,其特征在于,在Nginx的配置文件中定义两个location块,分别处理主系统的前端页面和后端接口地址,其中:

5.如权利要求3所述的一种基于反向代理集成Web系统的方法,其特征在于,步骤S3中,在反向代理服务器上进行用户身份认证的方式为基本身份认证或令牌身份认证,其中:

6.如权利要求5所述的一种基于反向代理集成Web系统的方法,其特征在于,反向代理规则为URL映射规则,在Nginx的配置文件中配置反向代理服务器,进行用户身份认证,包括:

7.如权利要求5所述的一种基于反向代理集成Web系统的方法,其特征在于,步骤S4包括:

8.如权利要求7所述的一种基于反向代理集成Web系统的方法,其特征在于,步骤S4还包括:

9.如权利要求1所述的一种基于反向代理集成Web系统的方法,其特征在于,所述方法还包括:利用反向代理服务器对用户会话进行管理,确保在用户与后端Web服务器之间的通信中保持会话的一致性。

10.如权利要求9所述的一种基于反向代理集成Web系统的方法,其特征在于,反向代理服务器对用户会话进行管理的过程为:

...

【技术特征摘要】

1.一种基于反向代理集成web系统的方法,其特征在于,包括:

2.如权利要求1所述的一种基于反向代理集成web系统的方法,其特征在于,步骤s1包括:

3.如权利要求2所述的一种基于反向代理集成web系统的方法,其特征在于,步骤s2中,反向代理规则为url映射规则或重定向规则;

4.如权利要求3所述的一种基于反向代理集成web系统的方法,其特征在于,在nginx的配置文件中定义两个location块,分别处理主系统的前端页面和后端接口地址,其中:

5.如权利要求3所述的一种基于反向代理集成web系统的方法,其特征在于,步骤s3中,在反向代理服务器上进行用户身份认证的方式为基本身份认证或令牌身份认证,其中:

6.如权利要求...

【专利技术属性】
技术研发人员:欧阳宏曹维祥张志刚
申请(专利权)人:武汉美和易思数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1