CN112788103B - 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法 - Google Patents
一种基于nginx+lua解决同应用多实例web代理访问冲突的方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion 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代理访问冲突的方法。
背景技术
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的配置示例:
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
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代理访问冲突的方法问题。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633812B (zh) * | 2023-05-15 | 2023-12-22 | 之江实验室 | 一种基于nginx智能容错路由的多版本同步测试方法及系统 |
Citations (4)
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在线代理方法 |
-
2020
- 2020-12-25 CN CN202011559548.1A patent/CN112788103B/zh active Active
Patent Citations (4)
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 |