基于Electron框架的专线客户端实现方法和系统技术方案

技术编号:39046759 阅读:7 留言:0更新日期:2023-10-10 11:59
本发明专利技术提供了一种基于Electron框架的专线客户端实现方法和系统,包括:在客户端启动时,检测是否有配置文件位于运行exe程序所处的同级目录下;使用Electron框架的会话中的onBeforeRequest方法进行请求劫持;通过Electron框架对原始请求进行改写;用户侧专线服务器收到客户端改写的请求后,发送给服务端专线服务器;服务端专线服务器使用nginx反向代理,将用户侧请求还原并向对应应用服务器发起最终请求;将最终请求的响应结果原路径返回,并增加响应的跨域头。本发明专利技术使用反向代理,实现了专线服务器向应用服务器发起请求的目的,能够保证高性能、稳定性和安全性,性能很强。强。强。

【技术实现步骤摘要】
基于Electron框架的专线客户端实现方法和系统


[0001]本专利技术涉及Electron
,具体地,涉及一种基于Electron框架的专线客户端实现方法和系统。

技术介绍

[0002]目前专线客户端主要采用.net技术实现,但是该技术存在跨平台支持性较弱的问题,因为依赖框架较多,安装和维护成本较高,同时还需要用户安装相应的.NET Framework运行库,占用硬件资源较多。
[0003]使用Electron技术实现专线客户端,则可以解决上述问题。Electron客户端可以在几乎所有操作系统上运行,降低了安装和维护成本,并占用更少的硬件资源。因此,基于Electron技术的专线客户端具有更好的跨平台适配性和用户体验,可以满足更广泛的用户需求。
[0004]专利文献CN114722366A(申请号:CN202111644805.6)公开了一种基于Electron框架实现的云桌面客户端多因素认证的方法及系统,客户需要在终端登录云桌面使,首先通过云桌面客户端从云桌面管理端获取登录步骤信息;在信息安全要求较高的情况下,在云桌面管理端配置多因素认证,用户既需要通过用户名、密码认证,同时也需要使用人脸识别,或者人脸识别和指纹进行二次认证。然而该专利没有采用反向代理方式,无法保证将请求转发到应用服务器上的高性能、稳定性和安全性。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于Electron框架的专线客户端实现方法和系统。
[0006]根据本专利技术提供的基于Electron框架的专线客户端实现方法,包括:
[0007]步骤1:在客户端启动时,检测是否有配置文件位于运行exe程序所处的同级目录下,若存在配置文件,则执行步骤2进行相应操作,否则结束流程;
[0008]步骤2:使用Electron框架的会话中的onBeforeRequest方法进行请求劫持;
[0009]步骤3:通过Electron框架对原始请求进行改写;
[0010]步骤4:用户侧专线服务器收到客户端改写的请求后,发送给服务端专线服务器;
[0011]步骤5:服务端专线服务器使用nginx反向代理,将用户侧请求还原并向对应应用服务器发起最终请求;
[0012]步骤6:将最终请求的响应结果原路径返回,并增加响应的跨域头。
[0013]优选的,原始请求格式为https://A.*/$,其中,A为域名,包括www或二级域名;$为请求路径后面的部分;
[0014]若用户侧专线服务器IP地址为1.1.1.1,则客户端改写后请求http://1.1.1.1/A/$;
[0015]若服务侧专线服务器IP地址为2.2.2.2,则用户侧请求为http://2.2.2.2/A/$;
[0016]将用户侧请求http://2.2.2.2/A/$还原并向对应应用服务器发起请求,若对应应用服务器地址为3.3.3.3,则发送最终请求https://3.3.3.3/$。
[0017]优选的,所述步骤2包括:当Electron框架准备发送一个网络请求时,先尝试匹配会话中注册的onBeforeRequest的回调函数;若能匹配到,则Electron框架暂停正在处理的请求,并将请求详情传递给回调函数;在回调函数中对请求进行改写处理,然后决定继续发送请求还是中止请求并且返回自定义的响应内容。
[0018]优选的,所述步骤3包括:
[0019]步骤3.1:将原始请求中域名地址部分.*改写为用户侧专线服务器的IP地址,得到1.1.1.1;
[0020]步骤3.2:将协议从https改成http,得到http://1.1.1.1;
[0021]步骤3.3:按照约定的规则,将A拼接到ip之后,再补齐$,得到http://1.1.1.1/A/$;
[0022]步骤3.4:回调函数中设置重定向地址为http://1.1.1.1/A/$,再发出请求。
[0023]优选的,所述步骤5包括:
[0024]步骤5.1:根据后缀/A,找到对应应用服务器地址,得到3.3.3.3;
[0025]步骤5.2:将协议从http转为https,得到https://3.3.3.3;
[0026]步骤5.3:补齐$,得到https://3.3.3.3/$。
[0027]根据本专利技术提供的基于Electron框架的专线客户端实现系统,包括:
[0028]模块M1:在客户端启动时,检测是否有配置文件位于运行exe程序所处的同级目录下,若存在配置文件,则触发模块M2进行相应操作,否则结束流程;
[0029]模块M2:使用Electron框架的会话中的onBeforeRequest方法进行请求劫持;
[0030]模块M3:通过Electron框架对原始请求进行改写;
[0031]模块M4:用户侧专线服务器收到客户端改写的请求后,发送给服务端专线服务器;
[0032]模块M5:服务端专线服务器使用nginx反向代理,将用户侧请求还原并向对应应用服务器发起最终请求;
[0033]模块M6:将最终请求的响应结果原路径返回,并增加响应的跨域头。
[0034]优选的,原始请求格式为https://A.*/$,其中,A为域名,包括www或二级域名;$为请求路径后面的部分;
[0035]若用户侧专线服务器IP地址为1.1.1.1,则客户端改写后请求http://1.1.1.1/A/$;
[0036]若服务侧专线服务器IP地址为2.2.2.2,则用户侧请求为http://2.2.2.2/A/$;
[0037]将用户侧请求http://2.2.2.2/A/$还原并向对应应用服务器发起请求,若对应应用服务器地址为3.3.3.3,则发送最终请求https://3.3.3.3/$。
[0038]优选的,所述模块M2包括:当Electron框架准备发送一个网络请求时,先尝试匹配会话中注册的onBeforeRequest的回调函数;若能匹配到,则Electron框架暂停正在处理的请求,并将请求详情传递给回调函数;在回调函数中对请求进行改写处理,然后决定继续发送请求还是中止请求并且返回自定义的响应内容。
[0039]优选的,所述模块M3包括:
[0040]模块M3.1:将原始请求中域名地址部分.*改写为用户侧专线服务器的IP地址,得
到1.1.1.1;
[0041]模块M3.2:将协议从https改成http,得到http://1.1.1.1;
[0042]模块M3.3:按照约定的规则,将A拼接到ip之后,再补齐$,得到http://1.1.1.1/A/$;
[0043]模块M3.4:回调函数中设置重定向地址为http://1.1.1.1/A/$,再发出请求。
[0044]优选的,所述模块M5包括:
[0045]模块M5.1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Electron框架的专线客户端实现方法,其特征在于,包括:步骤1:在客户端启动时,检测是否有配置文件位于运行exe程序所处的同级目录下,若存在配置文件,则执行步骤2进行相应操作,否则结束流程;步骤2:使用Electron框架的会话中的onBeforeRequest方法进行请求劫持;步骤3:通过Electron框架对原始请求进行改写;步骤4:用户侧专线服务器收到客户端改写的请求后,发送给服务端专线服务器;步骤5:服务端专线服务器使用nginx反向代理,将用户侧请求还原并向对应应用服务器发起最终请求;步骤6:将最终请求的响应结果原路径返回,并增加响应的跨域头。2.根据权利要求1所述的基于Electron框架的专线客户端实现方法,其特征在于,原始请求格式为https://A.*/$,其中,A为域名,包括www或二级域名;$为请求路径后面的部分;若用户侧专线服务器IP地址为1.1.1.1,则客户端改写后请求http://1.1.1.1/A/$;若服务侧专线服务器IP地址为2.2.2.2,则用户侧请求为http://2.2.2.2/A/$;将用户侧请求http://2.2.2.2/A/$还原并向对应应用服务器发起请求,若对应应用服务器地址为3.3.3.3,则发送最终请求https://3.3.3.3/$。3.根据权利要求2所述的基于Electron框架的专线客户端实现方法,其特征在于,所述步骤2包括:当Electron框架准备发送一个网络请求时,先尝试匹配会话中注册的onBeforeRequest的回调函数;若能匹配到,则Electron框架暂停正在处理的请求,并将请求详情传递给回调函数;在回调函数中对请求进行改写处理,然后决定继续发送请求还是中止请求并且返回自定义的响应内容。4.根据权利要求2所述的基于Electron框架的专线客户端实现方法,其特征在于,所述步骤3包括:步骤3.1:将原始请求中域名地址部分.*改写为用户侧专线服务器的IP地址,得到1.1.1.1;步骤3.2:将协议从https改成http,得到http://1.1.1.1;步骤3.3:按照约定的规则,将A拼接到ip之后,再补齐$,得到http://1.1.1.1/A/$;步骤3.4:回调函数中设置重定向地址为http://1.1.1.1/A/$,再发出请求。5.根据权利要求2所述的基于Electron框架的专线客户端实现方法,其特征在于,所述步骤5包括:步骤5.1:根据后缀/A,找到对应应用服务器地址,得到3.3.3.3;步骤5.2:将协议从http转为https,得到https://3.3.3.3;步骤5.3:补齐$,得到https://3.3.3.3/$。6.一种基于Electron框架...

【专利技术属性】
技术研发人员:刘昌灵李耀俞申莉
申请(专利权)人:上海基玉远达信息科技股份有限公司
类型:发明
国别省市:

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

1