一种基于nginx+lua解决同应用多实例web代理访问冲突的方法技术

技术编号:28429869 阅读:21 留言:0更新日期:2021-05-11 18:39
本发明专利技术公开了一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,包括两个阶段,第一个阶段:ngnix通过lua模块对代理请求各阶段进行更细粒度的控制;第二个阶段:ngnix利用lua模块在请求转发和返回之间对请求进行修改;采用ngx_lua模块的功能,在access_by_lua阶段对请求的cookie名称进行了改写,在header_filter_by_lua阶段对代理对象返回的cookie名称进行了改写。本发明专利技术提供一种nginx+lua的方式解决同应用多实例web代理访问冲突的方法的实现方法,解决了访问相同应用,同一浏览器端同时只能访问一个应用问题,大大提高了用户操作体验。可应用于云计算领域,具有广泛的应用前景。

【技术实现步骤摘要】
一种基于nginx+lua解决同应用多实例web代理访问冲突的方法
本专利技术涉及云计算领域,具体涉及nginx+lua解决同应用多实例web代理访问冲突的方法。
技术介绍
Web代理往往通过相同IP,不同端口来访问不同的应用。当代理同应用多实例的web应用时,会发生访问冲突问题。不同实例使用相同应用的cookie名称相同,导致用户浏览器只能同时访问一个实例应用。
技术实现思路
本专利技术采用nginx+lua的方式解决同应用多实例web代理访问冲突的方法。为实现上述目的,本专利技术提供的具体技术方案如下:一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,其特征在于,包括两个阶段,第一个阶段:ngnix通过lua模块对代理请求各阶段进行更细粒度的控制;第二个阶段:ngnix利用lua模块在请求转发和返回之间对请求进行修改。所述第一个阶段具体包括:步骤1.1:Lua内嵌在nginx中,执行lua程序,且高并发、非阻塞的处理各种请求;步骤1.2:用户请求到达后,可进行改写,请求,过滤等等操作。本专利技术利用了这个特性,在请求转发之前,修改了请求headler中的cookie名称,使其与代理对象的cookie名称匹配。所述第二个阶段具体包括:转发请求返回后,nginx+lua可以在返回请求给用户之前对请求返回进行改写,请求,过滤等操作。本专利技术利用了这个特性,在请求返回之前,修改了请求headler中代理对象返回的cookie名称。所述lua模块的功能,在access_by_lua阶段对请求的cookie名称进行改写,在header_filter_by_lua阶段对代理对象返回的cookie名称进行改写。从而解决了同应用多实例web代理访问冲突的方法问题。本专利技术的有益效果如下:本专利技术提供一种nginx+lua的方式解决同应用多实例web代理访问冲突的方法的实现方法,解决了访问相同应用,同一浏览器端同时只能访问一个应用问题,大大提高了用户操作体验。可应用于云计算领域,具有广泛的应用前景。附图说明图1为ngnixlua代理过程示意图;图2为nginxlua解决冲突方案示意图;图3为ngnixlua配置示意图。具体实施方式下面结合附图和实施例对本专利技术进行详细的描述,但并不以此作为对本申请保护范围的限定。Nginx是一个高性能的HTTP和反向代理web服务器。ngnix通过lua模块对代理请求各阶段进行更细粒度的控制。如图1所示,ngnix利用lua模块在请求转发和返回之间对请求进行修改。本文通过nginx+lua在转发代理请求和返回请求之前改写cookie名称,解决同应用多实例web代理访问冲突的方法。如图2所示,有三个实例,提供了相同的vrouter应用,用户通过一个浏览器可以同时访问三个实例应用。三个应用所提供的Cookie名称都是JSESSIONID,在未做cookie名称改写之前,浏览器将JSESSIONID的值进行覆盖,导致浏览器只能访问其中的一个实例。通过nginx+lua进行cookie名称改写后,可以使浏览器保存三个cookie,解决访问冲突问题。ngnixlua配置示例如图3所示:该示例中,采用lua在access_by_lua阶段将修改后的cookie名称还原成应用的JSESSIONID,在header_filter_by_lua_block阶段,将请求返回的JSESSIONID修改为cookie名称。如下为nginx+lua的配置示例:以上显示和描述了本专利技术的基本原理、主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的仅为本专利技术的优选例,并不用来限制本专利技术,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...

【技术保护点】
1.一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,其特征在于,包括两个阶段,第一个阶段:ngnix通过lua模块对代理请求各阶段进行更细粒度的控制;第二个阶段:ngnix利用lua模块在请求转发和返回之间对请求进行修改。/n

【技术特征摘要】
1.一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,其特征在于,包括两个阶段,第一个阶段:ngnix通过lua模块对代理请求各阶段进行更细粒度的控制;第二个阶段:ngnix利用lua模块在请求转发和返回之间对请求进行修改。


2.根据权利要求1所述的一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,其特征在于,所述第一个阶段具体包括:
步骤1.1:Lua内嵌在nginx中,执行lua程序,且高并发、非阻塞的处理各种请求;
步骤1.2:用户请求到达后,可进行改写,请求,过滤等等操作。


...

【专利技术属性】
技术研发人员:关洪涛张玉军谭航王阳盖凤欣谭中华
申请(专利权)人:江苏省未来网络创新研究院
类型:发明
国别省市:江苏;32

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

1