本发明涉及服务器技术领域,特别是涉及一种传输协议重定向的方法、装置、设备及可读存储介质。
背景技术:
在服务器管理中,经常需要使用全球广域网web(worldwideweb,也称为万维网)浏览并设置服务器的一些配置信息。现今,大部分的web都使用超文本传输安全协议https(hypertexttransferprotocoloversecuresocketlayer),而某些客户端还是利用超文本传输协议http(hypertexttransferprotocol)来访问web,这时就需要将超文本传输协议http重定向至超文本传输安全协议https。
目前主要利用万维网代理服务器nginx(enginex)配置来执行超文本传输协议http重定向至超文本传输安全协议https任务。但万维网代理服务器nginx插件占用空间较大,大大增加了系统镜像文件的大小。
技术实现要素:
本发明的目的是提供一种传输协议重定向的方法、装置、设备及可读存储介质,用于在节约系统空间的基础上实现超文本传输协议http重定向至超文本传输安全协议https任务。
为解决上述技术问题,本发明提供一种传输协议重定向的方法,基于开源的基板管理控制器openbmc,包括:
利用预先配置的netcat命令监听超文本传输协议http默认端口;
当自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息;
将所述第一地址信息封装为超文本传输安全协议https访问请求数据包发送至所述客户端,并向所述客户端发送永久重定向状态码,以使所述客户端根据所述超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
可选的,还包括:
当接收到所述客户端的超文本传输安全协议https访问请求后,向所述客户端发送超文本传输安全协议https数据包。
可选的,所述自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求,具体为:
自所述超文本传输协议http默认端口接收到所述客户端通过web浏览器发送的超文本传输协议http访问请求。
可选的,所述解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息,具体为:
解析所述超文本传输协议http访问请求的消息头得到所述第一地址信息。
可选的,所述第一地址信息具体包括ip地址和与所述超文本传输协议http访问请求对应的统一资源定位符;
相应的,所述第二地址信息具体包括所述ip地址和与所述超文本传输安全协议https访问请求对应的统一资源定位符。
可选的,在利用预先配置的netcat命令监听超文本传输协议http默认端口之前,还包括:
在服务器开机后,启动所述netcat命令以监听所述超文本传输协议http默认端口,并启动传输协议重定向脚本以在当自所述超文本传输协议http默认端口接收到所述客户端发送的超文本传输协议http访问请求后执行对所述客户端的超文本传输协议http重定向至超文本传输安全协议https的任务。
为解决上述技术问题,本发明还提供一种传输协议重定向的装置,包括:
监听单元,用于利用预先配置的netcat命令监听超文本传输协议http默认端口;
解析单元,用于当自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息;
封装单元,用于将所述第一地址信息封装为超文本传输安全协议https访问请求数据包发送至所述客户端,并向所述客户端发送永久重定向状态码,以使所述客户端根据所述超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
可选的,还包括:
接收单元,用于当接收到所述客户端的超文本传输安全协议https访问请求后,向所述客户端发送超文本传输安全协议https数据包。
为解决上述技术问题,本发明还提供一种传输协议重定向的设备,包括:
存储器,用于存储指令,所述指令包括上述任意一项所述传输协议重定向的方法的步骤;
处理器,用于执行所述指令。
为解决上述技术问题,本发明还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述传输协议重定向的方法的步骤。
本发明所提供的传输协议重定向的方法,基于开源的基板管理控制器openbmc,利用预先配置的netcat命令监听超文本传输协议http默认端口,代替万维网代理服务器nginx配置的方案,在自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析超文本传输协议http访问请求得到超文本传输协议http访问请求所需访问的第一地址信息,将第一地址信息封装为超文本传输安全协议https访问请求数据包发送至客户端,并向客户端发送永久重定向状态码,以使客户端根据超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。netcat命令相较于万维网代理服务器nginx配置占用更少的空间,本发明利用netcat命令监听超文本传输协议http默认端口,并在监听到超文本传输协议http访问请求执行后续重定向任务,提供了一种轻巧方便的实现超文本传输协议http重定向至超文本传输安全协议https任务的方案,降低了系统复杂度,有利于调试和维护。本发明还提供一种传输协议重定向的装置、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种传输协议重定向的方法的流程图;
图2为本发明实施例提供的一种传输协议重定向的装置的结构示意图;
图3为本发明实施例提供的一种传输协议重定向的设备的结构示意图。
具体实施方式
本发明的核心是提供一种传输协议重定向的方法、装置、设备及可读存储介质,用于在节约系统空间的基础上实现超文本传输协议http重定向至超文本传输安全协议https任务。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种传输协议重定向的方法的流程图。
如图1所示,基于开源的基板管理控制器openbmc,本发明实施例提供的传输协议重定向的方法包括:
s101:利用预先配置的netcat命令监听超文本传输协议http默认端口。
netcat在网络工具中有“瑞士军刀”的称号,能通过tcp和udp在网络中读写数据,通常默认安装于设备中,处于禁用状态。由于netcat相较于万维网代理服务器nginx插件体量小,预先启用并配置netcat命令代替万维网代理服务器nginx插件监控超文本传输协议http默认端口(80端口)来结合传输协议重定向脚本实现超文本传输协议http重定向至超文本传输安全协议https任务能够有效节约空间,降低系统镜像文件的大小。
s102:当自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析超文本传输协议http访问请求得到超文本传输协议http访问请求所需访问的第一地址信息。
其中,主要针对客户端通过web浏览器发送超文本传输协议http访问请求。
目前的web通常都采用超文本传输安全协议https协议,但有的客户端在访问web时还使用超文本传输协议http协议,此时就需要进行重定向。针对客户端的访问请求,web系统设有超文本传输协议http默认端口和超文本传输安全协议https默认端口,自超文本传输协议http默认端口接收到的访问请求即为超文本传输协议http访问请求。
开源的基板管理控制器openbmc在接收到客户端发送的超文本传输协议http访问请求后,解析超文本传输协议http访问请求得到超文本传输协议http访问请求所需访问的第一地址信息。
超文本传输协议http访问请求中的地址信息通常位于消息头,为减少计算、加快处理,可以仅解析超文本传输协议http访问请求的消息头得到第一地址信息。
通常情况下,第一地址信息具体包括ip(internetprotocol,网际互连协议)地址和与超文本传输协议http访问请求对应的统一资源定位符(uniformresourcelocator,url)。
s103:将第一地址信息封装为超文本传输安全协议https访问请求数据包发送至客户端,并向客户端发送永久重定向状态码,以使客户端根据超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
将第一地址信息装为超文本传输安全协议https访问请求数据包,其中的ip地址不变,将统一资源定位符更改为与超文本传输安全协议https访问请求对应的统一资源定位符,即第二地址信息具体包括ip地址和与超文本传输安全协议https访问请求对应的统一资源定位符。
同时将状态码置为308(permanentredirect,永久重定向状态码)后发送至客户端。
客户端在接收到超文本传输安全协议https访问请求数据包和永久重定向状态码后,根据永久重定向状态码,在之后访问时均发送超文本传输安全协议https访问请求;在当前访问中,通过超文本传输安全协议https访问请求数据包中的ip地址和与超文本传输安全协议https访问请求对应的统一资源定位符,使用新的超文本传输安全协议https协议的url网址访问服务器。
进一步的,本发明实施例提供的传输协议重定向的方法还包括:
当接收到客户端的超文本传输安全协议https访问请求后,向客户端发送超文本传输安全协议https数据包。
服务器的开源的基板管理控制器openbmc在接收到客户端的超文本传输安全协议https访问请求后,向客户端发送超文本传输安全协议https数据包,以建立客户端与目标网址的链接。
本发明实施例提供的传输协议重定向的方法,基于开源的基板管理控制器openbmc,利用预先配置的netcat命令监听超文本传输协议http默认端口,代替万维网代理服务器nginx配置的方案,在自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析超文本传输协议http访问请求得到超文本传输协议http访问请求所需访问的第一地址信息,将第一地址信息封装为超文本传输安全协议https访问请求数据包发送至客户端,并向客户端发送永久重定向状态码,以使客户端根据超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。netcat命令相较于万维网代理服务器nginx配置占用更少的空间,本发明实施例利用netcat命令监听超文本传输协议http默认端口,并在监听到超文本传输协议http访问请求执行后续重定向任务,提供了一种轻巧方便的实现超文本传输协议http重定向至超文本传输安全协议https任务的方案,降低了系统复杂度,有利于调试和维护。
在上述实施例的基础上,为方便使用,在步骤s101:利用预先配置的netcat命令监听超文本传输协议http默认端口之前,还包括:
在服务器开机后,启动netcat命令以监听超文本传输协议http默认端口,并启动传输协议重定向脚本以在当自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后执行对客户端的超文本传输协议http重定向至超文本传输安全协议https的任务。
在具体实施中,将netcat命令设置为开机自启动,从而在服务器开机后,开源的基板管理控制器openbmc自动启动预先配置的netcat命令以监听超文本传输协议http默认端口,当自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求,调用传输协议重定向脚本以执行对客户端的超文本传输协议http重定向至超文本传输安全协议https的任务。
上文详述了传输协议重定向的方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的传输协议重定向的装置、设备及可读存储介质。
图2为本发明实施例提供的一种传输协议重定向的装置的结构示意图。
如图2所示,本发明实施例提供的传输协议重定向的装置包括:
监听单元201,用于利用预先配置的netcat命令监听超文本传输协议http默认端口;
解析单元202,用于当自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析超文本传输协议http访问请求得到超文本传输协议http访问请求所需访问的第一地址信息;
封装单元203,用于将第一地址信息封装为超文本传输安全协议https访问请求数据包发送至客户端,并向客户端发送永久重定向状态码,以使客户端根据超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
进一步的,本发明实施例提供的传输协议重定向的装置还包括:
接收单元,用于当接收到客户端的超文本传输安全协议https访问请求后,向客户端发送超文本传输安全协议https数据包。
进一步的,本发明实施例提供的传输协议重定向的装置还包括:
调用单元,用于在服务器开机后,启动netcat命令以监听超文本传输协议http默认端口,并启动传输协议重定向脚本以在当自超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后执行对客户端的超文本传输协议http重定向至超文本传输安全协议https的任务。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种传输协议重定向的设备的结构示意图。
如图3所示,本发明实施例提供的传输协议重定向的设备包括:
存储器310,用于存储指令,所述指令包括上述任意一项实施例所述的传输协议重定向的方法的步骤;
处理器320,用于执行所述指令。
其中,处理器320可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器320可以采用数字信号处理dsp(digitalsignalprocessing)、现场可编程门阵列fpga(field-programmablegatearray)、可编程逻辑阵列pla(programmablelogicarray)中的至少一种硬件形式来实现。处理器320也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器cpu(centralprocessingunit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器320可以集成有图像处理器gpu(graphicsprocessingunit),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器320还可以包括人工智能ai(artificialintelligence)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器310可以包括一个或多个可读存储介质,该可读存储介质可以是非暂态的。存储器310还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器310至少用于存储以下计算机程序311,其中,该计算机程序311被处理器320加载并执行之后,能够实现前述任一实施例公开的传输协议重定向的方法中的相关步骤。另外,存储器310所存储的资源还可以包括操作系统312和数据313等,存储方式可以是短暂存储或者永久存储。其中,操作系统312可以为windows。数据313可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,传输协议重定向的设备还可包括有显示屏330、电源340、通信接口350、输入输出接口360、传感器370以及通信总线380。
本领域技术人员可以理解,图3中示出的结构并不构成对传输协议重定向的设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的传输协议重定向的设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的传输协议重定向的方法,效果同上。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
为此,本发明实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如传输协议重定向的方法的步骤。
该可读存储介质可以包括:u盘、移动硬盘、只读存储器rom(read-onlymemory)、随机存取存储器ram(randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的传输协议重定向的方法的步骤,效果同上。
以上对本发明所提供的一种传输协议重定向的方法、装置、设备及可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种传输协议重定向的方法,其特征在于,基于开源的基板管理控制器openbmc,包括:
利用预先配置的netcat命令监听超文本传输协议http默认端口;
当自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息;
将所述第一地址信息封装为超文本传输安全协议https访问请求数据包发送至所述客户端,并向所述客户端发送永久重定向状态码,以使所述客户端根据所述超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
2.根据权利要求1所述的方法,其特征在于,还包括:
当接收到所述客户端的超文本传输安全协议https访问请求后,向所述客户端发送超文本传输安全协议https数据包。
3.根据权利要求1所述的方法,其特征在于,所述自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求,具体为:
自所述超文本传输协议http默认端口接收到所述客户端通过web浏览器发送的超文本传输协议http访问请求。
4.根据权利要求1所述的方法,其特征在于,所述解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息,具体为:
解析所述超文本传输协议http访问请求的消息头得到所述第一地址信息。
5.根据权利要求2所述的方法,其特征在于,所述第一地址信息具体包括ip地址和与所述超文本传输协议http访问请求对应的统一资源定位符;
相应的,所述第二地址信息具体包括所述ip地址和与所述超文本传输安全协议https访问请求对应的统一资源定位符。
6.根据权利要求1所述的方法,其特征在于,在利用预先配置的netcat命令监听超文本传输协议http默认端口之前,还包括:
在服务器开机后,启动所述netcat命令以监听所述超文本传输协议http默认端口,并启动传输协议重定向脚本以在当自所述超文本传输协议http默认端口接收到所述客户端发送的超文本传输协议http访问请求后执行对所述客户端的超文本传输协议http重定向至超文本传输安全协议https的任务。
7.一种传输协议重定向的装置,其特征在于,包括:
监听单元,用于利用预先配置的netcat命令监听超文本传输协议http默认端口;
解析单元,用于当自所述超文本传输协议http默认端口接收到客户端发送的超文本传输协议http访问请求后,解析所述超文本传输协议http访问请求得到所述超文本传输协议http访问请求所需访问的第一地址信息;
封装单元,用于将所述第一地址信息封装为超文本传输安全协议https访问请求数据包发送至所述客户端,并向所述客户端发送永久重定向状态码,以使所述客户端根据所述超文本传输安全协议https访问请求数据包中的第二地址信息进行超文本传输安全协议https访问。
8.根据权利要求7所述的装置,其特征在于,还包括:
接收单元,用于当接收到所述客户端的超文本传输安全协议https访问请求后,向所述客户端发送超文本传输安全协议https数据包。
9.一种传输协议重定向的设备,其特征在于,包括:
存储器,用于存储指令,所述指令包括权利要求1至6任意一项所述传输协议重定向的方法的步骤;
处理器,用于执行所述指令。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述传输协议重定向的方法的步骤。
技术总结