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

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

Info

Publication number
CN112788103B
CN112788103B CN202011559548.1A CN202011559548A CN112788103B CN 112788103 B CN112788103 B CN 112788103B CN 202011559548 A CN202011559548 A CN 202011559548A CN 112788103 B CN112788103 B CN 112788103B
Authority
CN
China
Prior art keywords
lua
request
stage
nginx
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011559548.1A
Other languages
English (en)
Other versions
CN112788103A (zh
Inventor
关洪涛
张玉军
谭航
王阳
盖凤欣
谭中华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Future Networks Innovation Institute
Original Assignee
Jiangsu Future Networks Innovation Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Future Networks Innovation Institute filed Critical Jiangsu Future Networks Innovation Institute
Priority to CN202011559548.1A priority Critical patent/CN112788103B/zh
Publication of CN112788103A publication Critical patent/CN112788103A/zh
Application granted granted Critical
Publication of CN112788103B publication Critical patent/CN112788103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种基于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为ngnix lua代理过程示意图;
图2为nginx lua解决冲突方案示意图;
图3为ngnix lua配置示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述,但并不以此作为对本申请保护范围的限定。
Nginx是一个高性能的HTTP和反向代理web服务器。ngnix通过lua模块对代理请求各阶段进行更细粒度的控制。如图1所示,ngnix利用lua模块在请求转发和返回之间对请求进行修改。
本文通过nginx+lua在转发代理请求和返回请求之前改写cookie名称,解决同应用多实例web代理访问冲突的方法。
如图2所示,有三个实例,提供了相同的vrouter应用,用户通过一个浏览器可以同时访问三个实例应用。三个应用所提供的Cookie名称都是JSESSIONID,在未做cookie名称改写之前,浏览器将JSESSIONID的值进行覆盖,导致浏览器只能访问其中的一个实例。通过nginx+lua进行cookie名称改写后,可以使浏览器保存三个cookie,解决访问冲突问题。
ngnix lua配置示例如图3所示:该示例中,采用lua在access_by_lua阶段将修改后的cookie名称还原成应用的JSESSIONID,在header_filter_by_lua_block阶段,将请求返回的JSESSIONID修改为cookie名称。
如下为nginx+lua的配置示例:
Figure BDA0002858985040000021
Figure BDA0002858985040000031
Figure BDA0002858985040000041
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (1)

1.一种基于nginx+lua解决同应用多实例web代理访问冲突的方法,其特征在于,包括两个阶段,第一个阶段:ngnix通过lua模块对代理请求各阶段进行更细粒度的控制;第二个阶段:ngnix利用lua模块在请求转发和返回之间对请求进行修改;
所述第一个阶段具体包括:
步骤1.1:Lua内嵌在nginx中,执行lua程序,且高并发、非阻塞的处理各种请求;
步骤1.2:用户请求到达后,可进行改写,请求,过滤操作;
所述第二个阶段具体包括:转发请求返回后,nginx+lua可以在返回请求给用户之前对请求返回进行改写,请求,过滤操作;
所述lua模块的功能,在access_by_lua阶段对请求的cookie名称进行改写,在header_filter_by_lua阶段对代理对象返回的cookie名称进行改写;从而解决了同应用多实例web代理访问冲突的方法问题。
CN202011559548.1A 2020-12-25 2020-12-25 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法 Active CN112788103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011559548.1A CN112788103B (zh) 2020-12-25 2020-12-25 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011559548.1A CN112788103B (zh) 2020-12-25 2020-12-25 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法

Publications (2)

Publication Number Publication Date
CN112788103A CN112788103A (zh) 2021-05-11
CN112788103B true CN112788103B (zh) 2022-08-02

Family

ID=75752501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011559548.1A Active CN112788103B (zh) 2020-12-25 2020-12-25 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法

Country Status (1)

Country Link
CN (1) CN112788103B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116633812B (zh) * 2023-05-15 2023-12-22 之江实验室 一种基于nginx智能容错路由的多版本同步测试方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984778A (zh) * 2008-01-26 2011-03-09 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
WO2018103320A1 (zh) * 2016-12-08 2018-06-14 上海壹账通金融科技有限公司 灰度发布方法、系统、服务器及存储介质
WO2019061636A1 (zh) * 2017-09-28 2019-04-04 武汉斗鱼网络科技有限公司 调用系统工具的方法、装置、可读存储介质及设备
CN111814085A (zh) * 2020-07-10 2020-10-23 四川长虹电器股份有限公司 基于JavaScript hook的新型WEB在线代理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984778A (zh) * 2008-01-26 2011-03-09 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
WO2018103320A1 (zh) * 2016-12-08 2018-06-14 上海壹账通金融科技有限公司 灰度发布方法、系统、服务器及存储介质
WO2019061636A1 (zh) * 2017-09-28 2019-04-04 武汉斗鱼网络科技有限公司 调用系统工具的方法、装置、可读存储介质及设备
CN111814085A (zh) * 2020-07-10 2020-10-23 四川长虹电器股份有限公司 基于JavaScript hook的新型WEB在线代理方法

Also Published As

Publication number Publication date
CN112788103A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
KR100920595B1 (ko) 클라이언트 측 통신 프로토콜 스택 구성 방법, 프로세스 간통신 프로토콜 구성 시스템 및 머신 판독가능한 저장 장치
DE60132901T2 (de) Internetzugriff zu geerbten anwendungen
CN111459418B (zh) 一种基于rdma的键值存储系统传输方法
US20080243847A1 (en) Separating central locking services from distributed data fulfillment services in a storage system
CN106844048B (zh) 基于硬件特性的分布式共享内存方法及系统
EP1960909B1 (en) A method, system, and computer program product for efficiently serializing navigational state in a portal
DE112013003289T5 (de) Gerät, System und Verfahren für client-geregelte Sitzungspersistenz zwischen ein oder mehreren Clients und Servern eines Rechenzentrums
AU2016298212B2 (en) Server-side caching for web user interfaces
CN112788103B (zh) 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法
US9088462B2 (en) Common web accessible data store for client side page processing
CN107517254B (zh) 一种动态数据请求处理系统及方法
KR20110019741A (ko) 다중-프로세스 브라우저 아키텍처
CN110727890A (zh) 一种页面加载方法、装置及计算机设备、存储介质
WO2019001078A1 (zh) 一种用于在直播软件中加载插件的方法及装置
CN109634753B (zh) 切换浏览器内核的数据处理方法、装置、终端和存储介质
EP2011029B1 (en) Managing network response buffering behavior
CN112100146B (zh) 一种高效的纠删分布式存储写入方法、系统、介质及终端
DE202017105777U1 (de) System für hardwareunabhängigen RDMA
WO2020215833A1 (zh) 离线缓存方法、装置、终端及可读存储介质
DE60221156T2 (de) Verfahren und system zur verteilung der arbeitslast in einem netzwerk von rechnersystemen
CN104615597B (zh) 浏览器中清除缓存文件的方法、装置和系统
US20150271009A1 (en) Latency virtualization data accelerator
CN109190071A (zh) 移动端缓存方法及装置
CN112559172A (zh) 网页浏览器内存优化方法、系统、设备及存储介质
WO2023093588A1 (zh) 资源共享方法、终端、计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant