【技术实现步骤摘要】
一种HTTP转HTTPS双向透明代理的方法和装置
本专利技术涉及网络通信技
,特别是涉及一种HTTP转HTTPS双向透明代理的方法和装置。
技术介绍
随着网络环境的日益复杂,各种代理技术应运而生。从代理的协议层面可以划分为HTTP代理、SSL代理、FTP代理、邮件代理、TCP代理等;从代理服务器位置上,可以划分为正向代理和反向代理;从是否能被感知的角度可以分为透明代理和非透明代理。透明代理又可以分为客户端透明和服务器端透明,客户端透明就是指被代理的用户不需要做任何配置,自己的流量就会被动的接受代理,整个过程用户无感知;服务器端透明指的是,用户访问的目的服务器不会感觉到访问的流量是经过代理服务器的,服务器看到的IP地址是用户的IP地址,而不是中间代理服务器的IP地址。双向透明代理指的是终端用户以及服务器端都不会感受到代理服务器的存在,终端用户不需要做任何代理相关的配置,访问的目标IP也是服务器的真实IP地址,而不是代理服务器的IP;服务器端看到的访问IP地址也是真实的终端用户的IP地址,而不是代理服务器的IP地址。在整个的流量传输过程中,并不会出现中间代理服务器的IP地址,虽然流量经过了代理服务器的处理,但是双方都感知不到流量被代理了,这就是双向透明代理的含义所在。为了实现透明代理,首先需要用户访问服务器的流量要经过代理服务器,也就是说代理服务器部署的位置一定是在终端用户和服务器之间,而且能够访问到它们之间的通信流量。其次需要对报文的转发做一些特殊处理,默认情况下报文只会流向目的IP地址的节点,对 ...
【技术保护点】
1.一种HTTP转HTTPS双向透明代理的方法,其特征在于,包括:/n代理系统收到客户端发送的第一HTTP请求后,解析HTTP头部字段,获得Host字段,把Host字段和内置的域名列表进行比对,并存储所述第一HTTP请求内容;其中,所述域名列表,用于存储满足HTTPS重定向的域名;/n若发现Host域名在列表中,代理系统向服务器发起目标端口为443的TCP握手,以便建立第一TCP通道和通过所述第一TCP通道进行TLS协商过程;其中,所述TCP握手中使用的客户端的IP地址;/n代理系统通过TLS协商建立的第一TLS通道,向服务器发送第一HTTPS请求;其中,所述第一HTTPS请求中携带所述第一HTTP请求内容经过加密后的内容;/n代理系统接收服务器返回的第一HTTPS响应,代理系统删除第一HTTPS响应的HTTP头部字段中cookie字段的secure属性,以及HSTS中包含的Strict-Transport-Security字段后,并将第一HTTPS响应内容解密为明文后,透传给客户端。/n
【技术特征摘要】
1.一种HTTP转HTTPS双向透明代理的方法,其特征在于,包括:
代理系统收到客户端发送的第一HTTP请求后,解析HTTP头部字段,获得Host字段,把Host字段和内置的域名列表进行比对,并存储所述第一HTTP请求内容;其中,所述域名列表,用于存储满足HTTPS重定向的域名;
若发现Host域名在列表中,代理系统向服务器发起目标端口为443的TCP握手,以便建立第一TCP通道和通过所述第一TCP通道进行TLS协商过程;其中,所述TCP握手中使用的客户端的IP地址;
代理系统通过TLS协商建立的第一TLS通道,向服务器发送第一HTTPS请求;其中,所述第一HTTPS请求中携带所述第一HTTP请求内容经过加密后的内容;
代理系统接收服务器返回的第一HTTPS响应,代理系统删除第一HTTPS响应的HTTP头部字段中cookie字段的secure属性,以及HSTS中包含的Strict-Transport-Security字段后,并将第一HTTPS响应内容解密为明文后,透传给客户端。
2.根据权利要求1所述的HTTP转HTTPS双向透明代理的方法,其特征在于,若发现Host域名不在列表中,所述方法还包括:
代理系统向服务器发起目标端口为80的TCP握手,以便建立第二TCP通道;
代理系统通过所述第二TCP通道,向服务器发送第二HTTP请求,所述第二HTTP请求中携带所述第一HTTP请求内容;
代理系统接收服务器返回的第二HTTP响应,并检查所述第二HTTP响应是否是HTTPS重定向;
若发现是HTTPS重定向,则代理系统把Host加入域名列表中,并丢弃掉所述第二HTTP响应,同时向服务器发送TCPReset报文,关闭所述第一TCP通道。
3.根据权利要求2所述的HTTP转HTTPS双向透明代理的方法,其特征在于,所述方法还包括:
代理系统向服务器发起目标端口为443的TCP握手,以便建立第二TCP通道和通过所述第二TCP通道进行TLS协商过程;其中,所述TCP握手中使用的客户端的IP地址;
代理系统通过TLS协商建立的第二TLS通道,向服务器发送第二HTTPS请求;其中,所述第二HTTPS请求中携带所述第二HTTP请求内容经过加密后的内容;
代理系统接收服务器返回的第二HTTPS响应,代理系统删除第二HTTPS响应的HTTP头部字段中cookie字段的secure属性,以及HSTS中包含的Strict-Transport-Security字段后,并将第二HTTPS响应内容解密为明文后,透传给客户端。
4.根据权利要求2所述的HTTP转HTTPS双向透明代理的方法,其特征在于,检查所述第二HTTP响应是否是HTTPS重定向,具体包括:
检查所述第二HTTP响应的状态码是否在300~399之间,并且,检查重定向的目标地址是原来Host的HTTPS版本;其中,根据HTTP协议规范,此区间的响应状态码表示重定向。
5.根据权利要求2所述的HTTP转HTTPS双向透明代理的方法,其特征在于,若发现不是HTTPS重定向,所述方法还包括:
代理系统将接收到的第二HTTP响应透传给所述客户端。
6.根据权利要求1-5任一所述的HTTP转HTTPS双向透明代理的方法,其特征在于,代理系统包括:数据包收发模块、虚拟网卡模块、数据包路...
【专利技术属性】
技术研发人员:王赟,侯贺明,程波,
申请(专利权)人:武汉绿色网络信息服务有限责任公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。