CN106685932B - 一种基于云服务的文件访问系统和方法 - Google Patents

一种基于云服务的文件访问系统和方法 Download PDF

Info

Publication number
CN106685932B
CN106685932B CN201611123050.4A CN201611123050A CN106685932B CN 106685932 B CN106685932 B CN 106685932B CN 201611123050 A CN201611123050 A CN 201611123050A CN 106685932 B CN106685932 B CN 106685932B
Authority
CN
China
Prior art keywords
access request
cloud storage
address
client
interface server
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
CN201611123050.4A
Other languages
English (en)
Other versions
CN106685932A (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201611123050.4A priority Critical patent/CN106685932B/zh
Publication of CN106685932A publication Critical patent/CN106685932A/zh
Application granted granted Critical
Publication of CN106685932B publication Critical patent/CN106685932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于云服务的文件访问系统和方法,包括客户端、第二反向代理服务器、第二接口服务器和云存储服务器;其中,第二反向代理服务器,用于将来自客户端的第一访问请求转发给第二接口服务器;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至云存储地址所在的云存储服务器;第二接口服务器,用于基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器转发给客户端。本发明能够简单地确保客户端访问云存储空间的文件的安全性。

Description

一种基于云服务的文件访问系统和方法
技术领域
本发明涉及云存储技术领域,尤指一种基于云服务的文件访问系统和方法。
背景技术
云存储是一种新兴的网络存储技术,通过集群应用、网络技术或分布式文件系统等功能,将网络中各种不同类型的大量存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。用户可以在任何时间、任何地方,通过任何可连网的装置连接到云上,方便地存取数据。
用户访问云上存储的文件时,必须由云存储服务端控制授权,但是,用户与云存储服务端每建立一次连接,云存储服务端只授权一个文件,对于用户来说,这样相对不够灵活。另外,如果由云存储服务端向用户直接提供授权链接,该授权链接会暴露文件在云存储空间上的存储路径,从而容易被有恶意的人解析使用,使得用户访问云存储空间的文件变得不安全。
发明内容
为了解决上述技术问题,本发明提供了一种基于云服务的文件访问系统和方法,能够简单地确保客户端访问云存储空间的文件的安全性。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种基于云服务的文件访问系统,包括用于发起第一访问请求和第二访问请求的客户端以及用于存储文件的云存储服务器,还包括:第二反向代理服务器和第二接口服务器;其中,
第二反向代理服务器,用于将来自客户端的第一访问请求转发给第二接口服务器;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至云存储地址所在的云存储服务器;
第二接口服务器,用于基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器转发给客户端。
进一步地,所述第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:
提取第一访问请求中的用户标识和目标文件标识,查找目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,对云存储地址进行加密,生成加密链接地址。
可选地,所述第二接口服务器为tomcat集群服务器。
可选地,所述第二反向代理服务器为Nginx服务器。
本发明实施例还提供了一种基于云服务的文件访问系统,包括用于发起第一访问请求和第二访问请求的客户端,还包括:第一接口服务器,其中,
第一接口服务器,用于基于接收的第一访问请求生成加密链接地址,并返回给客户端;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至对应的云存储地址。
进一步地,还包括第一反向代理服务器,用于转发所述客户端和所述第一接口服务器之间的数据。
本发明实施例还提供了一种基于云服务的文件访问方法,包括如下步骤:
客户端发起第一访问请求;
第二反向代理服务器将第一访问请求转发至第二接口服务器;
第二接口服务器基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器返回给客户端;
客户端使用加密链接地址,发起第二访问请求;
第二反向代理服务器查找是否存储有与加密链接地址相对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址。
进一步地,第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:
提取第一访问请求中的用户标识和目标文件标识,查找目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,对云存储地址进行加密,生成加密链接地址。
本发明实施例还提供了一种基于云服务的文件访问方法,包括如下步骤:
客户端发起第一访问请求;
第一接口服务器接收第一访问请求,生成加密链接地址,并返回给客户端;
客户端使用加密链接地址,发起第二访问请求;
第一接口服务器查找是否存储有与加密链接地址相对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址。
进一步地,所述客户端和第一接口服务器之间,通过第一反向代理服务器转发数据。
本发明提供的基于云服务的文件访问系统和方法,提供客户端的文件访问链接均为加密链接,不会暴露文件的存储路径,从而防止了被有恶意的人解析使用;通过设置接口服务器上的文件访问接口,客户端与接口服务器每建立一次连接,可以同时访问云服务器上的多个文件。通过本发明提供的技术方案,简单地确保了客户端访问云存储空间的文件的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明基于云服务的文件访问系统的第一实施例的一种结构示意图。
图2为本发明基于云服务的文件访问系统的第一实施例的另一种结构示意图。
图3为本发明基于云服务的文件访问系统的第二实施例的结构示意图。
图4为本发明基于云服务的文件访问系统的第二实施例的实际部署结构示意图。
图5为本发明基于云服务的文件访问方法的第一实施例的流程示意图。
图6为本发明基于云服务的文件访问方法的第二实施例的流程示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意结合。
如图1所示,根据本发明的第一种基于云服务的文件访问系统,至少包括发起第一访问请求和第二访问请求的客户端和第一接口服务器;其中,
第一接口服务器,用于基于接收的第一访问请求生成加密链接地址,并返回给客户端;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有加密链接地址对应的云存储地址,如果有,转发第二访问请求至对应的云存储地址。
进一步地,第一访问请求中包括用户要访问的目标文件信息,例如目标文件序列号(ID),第一接口服务器根据目标文件信息查找对应的云存储地址,并生成加密链接地址。
可选地,第一访问请求和第二访问请求中还携带鉴权信息,以供第一接口服务器基于接收的鉴权信息进行鉴权操作。其中,第一访问请求中的鉴权信息包括用户的用户标识(ID)和密码,第一接口服务器通过该用户标识和密码验证用户是否合法,是则鉴权通过,在鉴权通过时返回配置有一定的生存时间的用户令牌(token)至客户端;客户端发起的携带加密链接地址的第二访问请求中携带该用户令牌,以供第一接口服务器在且仅在用户令牌的生存时间内,响应客户端的第二访问请求。
可选地,第一接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:提取第一访问请求中的用户标识和目标文件标识,查找与目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,通过安全哈希算法(SHA1)或其它加密算法对云存储地址进行加密,生成加密链接地址。此处的加密算法应与服务提供者在第一接口服务器中或与第一接口服务器相连的第二数据库中预先存储的加密链接地址所使用的加密算法相同。例如:生成的加密链接地址,结构形如http://cloud- download.server.nubia.cn?path=加密地址。本发明的加密链接地址避免了文件存储结构路径直接暴露给客户,从而防止了被有恶意的人解析使用。
进一步地,第一接口服务器,根据来自客户端的访问请求中的关键字判断是第一访问请求还是第二访问请求。
本实施例中,服务提供者部署云服务时,预先把目标文件存储至对应的云存储地址,并把用户ID、目标文件ID、云存储地址存储在第一接口服务器或与第一接口服务器相连的第一数据库中,第一接口服务器接收第一访问请求时,在第一接口服务器或第一数据库中查找用户ID和目标文件ID对应的云存储地址。另外预先把用户token、加密链接地址、云存储地址存储在第一接口服务器中或与第一接口服务器相连的第二数据库中,第一接口服务器接收第二访问请求时,在第一接口服务器或与第一接口服务器相连的第二数据库中验证是否有与用户token和加密链接地址对应的云存储地址。可选地,第二数据库为Mysql数据库;第二数据库的结构如表1所示。
表1
可选地,第一接口服务器可以允许客户端同时对多个文件进行访问。本发明的文件访问请求为文件下载请求,由于用户token配置有一定的生存时间,因此,即便攻击者截获第二访问请求中的用户token和加密链接地址,也只能在用户token的生存时间内下载所截获的加密链接地址对应的单个文件,通过在第一接口服务器端设置防火墙,来防御攻击者利用截获的第二访问请求发起分布式拒绝服务(Distributed Denial of Service,DDoS)攻击。
可选地,如图2所示,第一接口服务器可以为一集群系统,例如,集群系统可以为tomcat集群服务器。在tomcat集群服务器中,每台tomcat服务器都是运行其自己进程的独立服务器,这些进程可以彼此通信,对客户端来说,多台tomcat服务器就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据,从而解决网站访问量过大导致web服务器崩溃的问题。进一步地,如图2所示,在客户端和第一接口服务器集群之间设置第一反向代理服务器,用于转发客户端和第一接口服务器集群之间的数据。通过设置第一反向代理服务器,客户端不需要记住每个第一接口服务器的地址,而是直接通过第一反向代理服务器的地址发起文件访问请求,由第一反向代理服务器将客户端的文件访问请求转发至第一接口服务器集群中对应的第一接口服务器。
可选地,第一反向代理服务器为Nginx服务器。Nginx是一个高性能Web和反向代理服务器,通过Nginx服务器,可以对第一接口服务器集群进行负载均衡或动静分离(Nginx服务器作为静态服务器,主要处理图片以及其它所有的静态文件请求;第一接口服务器作为动态服务器,主要处理jsp、do等动态页面的请求)。
如图3所示,根据本发明的第二种基于云服务的文件访问系统,包括发起第一访问请求和第二访问请求的客户端、第二反向代理服务器、第二接口服务器和用于存储文件的云存储服务器;
其中,第二反向代理服务器,用于将来自客户端的第一访问请求转发给第二接口服务器;并在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至云存储地址所在的云存储服务器;
第二接口服务器用于基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器返回给客户端。
进一步地,第二反向代理服务器,根据来自客户端的访问请求中的关键字判断是第一访问请求还是第二访问请求。
进一步地,第一访问请求中包括用户要访问的目标文件信息,例如目标文件序列号(ID),第二接口服务器根据目标文件信息查找对应的云存储地址,并生成加密链接地址;
可选地,第一访问请求和第二访问请求中还携带鉴权信息,以供第二接口服务器和第二反向代理服务器基于接收的鉴权信息进行鉴权操作。其中,第一访问请求中的鉴权信息包括用户的用户标识(ID)和密码,第二接口服务器通过该用户标识和密码验证用户是否合法,是则鉴权通过,在鉴权通过时返回配置有一定的生存时间的用户令牌(token)至客户端;客户端发起的携带加密链接地址的第二访问请求中携带该用户令牌,以供第二反向代理服务器在且仅在用户令牌的生存时间内,响应客户端的第二访问请求。可选地,第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:提取第一访问请求中的用户标识和目标文件标识,查找与目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,通过安全哈希算法(SHA1)或其它加密算法对云存储地址进行加密,生成加密链接地址。此处的加密算法应与服务提供者在第二反向代理服务器中或与第二反向代理服务器相连的第四数据库中预先存储的加密链接地址所使用的加密算法相同。例如:生成的加密链接地址,结构形如http://cloud- download.server.nubia.cn?path=加密地址。本发明的加密链接地址避免了文件存储结构路径直接暴露给客户,从而防止了被有恶意的人解析使用。
本实施例中,服务提供者部署云服务时,预先把目标文件存储至对应的云存储地址,并把用户ID、目标文件ID、云存储地址存储在第二接口服务器或与第二接口服务器相连的第三数据库中,第二接口服务器接收第一访问请求时,在第二接口服务器或第三数据库中查找目标文件ID对应的云存储地址。另外预先把用户token、加密链接地址、云存储地址存储在第二反向代理服务器中或与第二反向代理服务器相连的第四数据库中,第二反向代理服务器接收第二访问请求时,在第二反向代理服务器或第四数据库中验证是否有与用户token和加密链接地址对应的云存储地址。可选地,第四数据库为Mysql数据库;第四数据库的结构如上述表1所示。
可选地,第二接口服务器为tomcat集群服务器。
可选地,第二反向代理服务器为Nginx服务器。Nginx服务器,使用proxy_pass方式,转发第二访问请求至云存储地址所在的云存储服务器。本实施例通过第二反向代理服务器,直接将客户端的第二访问请求转发至云存储服务器,并将来自云存储服务器的第二访问响应直接转发至客户端,从而省略了一次通过第二接口服务器转发的步骤,节约了带宽。
可选地,Nginx服务器验证是否有与客户端的第二访问请求对应的云存储地址时,使用TCP长连接方式与第四数据库建立连接,以减小连接第四数据库时的开销。
可选地,第二接口服务器可以允许客户端同时对多个文件进行访问。本发明的文件访问请求为文件下载请求,由于用户token配置有一定的生存时间,因此,即便攻击者截获第二访问请求中的用户token和加密链接地址,也只能在用户token的生存时间内下载所截获的加密链接地址对应的单个文件,通过在第二反向代理服务器端设置防火墙来防御攻击者利用截获的第二访问请求发起分布式拒绝服务攻击。
下面通过图4所示的实际部署结构,对本发明的第二种基于云服务的文件访问系统做进一步地举例说明。
如图4所示,服务提供者部署云服务时,预先把目标文件存储至对应的云存储地址,并部署多台tomcat服务器,每台tomcat服务器之间通过相应的硬件及软件互连,组成一个tomcat集群系统,tomcat集群系统相当于第二接口服务器。通过一台或多台Nginx服务器组成第二反向代理服务器,在tomcat集群系统中,预先保存包含用户ID、目标文件ID和云存储地址的附件存储表;在与Nginx服务器相连的Mysql数据库中,预先保存用户token、加密链接地址和云存储地址。
其中,Nginx服务器作为第二反向代理服务器,用于接收客户端的访问请求,并根据访问请求中的关键字,确定是第一访问请求还是第二访问请求;如果是第一访问请求,转发给tomcat集群系统;如果是第二访问请求,提取第二访问请求中的用户token和加密链接地址,查找Mysql数据库中是否有与用户token和加密链接地址对应的云存储地址,如果有,转发第二访问请求至对应的云存储地址,并将云存储地址所在的云存储服务器返回的第二访问响应转发至客户端;
客户端,通过用户ID和目标文件ID,向Nginx服务器发起第一访问请求,Nginx服务器将第一访问请求转发至tomcat集群系统,并转发来自tomcat集群系统的第一访问响应至客户端,客户端通过第一访问响应中的用户token和加密链接地址发起第二访问请求,Nginx服务器将第二访问请求转发至对应的云存储地址,并将云存储地址所在的云存储服务器返回的第二访问响应转发至客户端;
tomcat集群服务器,接收Nginx服务器转发的客户端的第一访问请求,提取第一访问请求中的用户ID和目标文件ID,查找目标文件ID对应的云存储地址,根据用户ID生成用户token,使用用户token作为加密密钥,通过SHA1或其它加密算法对云存储地址进行加密(此处的加密算法应与Mysql数据库中生成加密链接地址所使用的加密算法相同),生成加密链接地址,并将用户token和加密链接地址通过Nginx服务器转发给客户端。
如图5所示,根据本发明的第一种基于云服务的文件访问方法,包括如下步骤:
客户端发起第一访问请求;
第一接口服务器接收第一访问请求,生成加密链接地址,并返回给客户端;
客户端使用加密链接地址,发起第二访问请求;
第一接口服务器查找是否存储有加密链接地址对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址。
进一步地,第一访问请求中包括用户要访问的目标文件信息,例如目标文件序列号(ID),第一接口服务器根据目标文件信息查找对应的云存储地址,并生成加密链接地址;
可选地,第一访问请求和第二访问请求中还携带鉴权信息,以供第一接口服务器基于接收的鉴权信息进行鉴权操作。其中,第一访问请求中的鉴权信息包括用户的用户标识(ID)和密码,第一接口服务器通过该用户标识和密码验证用户是否合法,是则鉴权通过,在鉴权通过时返回配置有一定的生存时间的用户令牌(token)至客户端;客户端发起的携带加密链接地址的第二访问请求中携带该用户令牌,以供第一接口服务器在且仅在用户令牌的生存时间内,响应客户端的第二访问请求。
进一步地,第一接口服务器,根据来自客户端的访问请求中的关键字判断是第一访问请求还是第二访问请求。
本实施例中,服务提供者部署云服务时,预先把目标文件存储至对应的云存储地址,并把用户ID、目标文件ID、云存储地址存储在第一接口服务器或与第一接口服务器相连的第一数据库中,第一接口服务器接收第一访问请求时,在第一接口服务器或第一数据库中查找目标文件ID对应的云存储地址。另外预先把用户token、加密链接地址、云存储地址存储在第一接口服务器中或与第一接口服务器相连的第二数据库中,第一接口服务器接收第二访问请求时,在第一接口服务器或与第一接口服务器相连的第二数据库中验证是否有与用户token和加密链接地址对应的云存储地址。可选地,第二数据库为Mysql数据库;第二数据库的结构如上述表1所示。
可选地,第一接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:提取第一访问请求中的用户标识和目标文件标识,查找目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,通过安全哈希算法(SHA1)或其它加密算法对云存储地址进行加密,生成加密链接地址。此处的加密算法应与服务提供者在第一接口服务器中或与第一接口服务器相连的第二数据库中预先存储的加密链接地址所使用的加密算法相同。例如:生成的加密链接地址,结构形如http://cloud- download.server.nubia.cn?path=加密地址。本发明的加密链接地址避免了文件存储结构路径直接暴露给客户,从而防止了被有恶意的人解析使用。
可选地,第一接口服务器可以允许客户端同时对多个文件进行访问。本发明的文件访问请求为文件下载请求,由于用户token配置有一定的生存时间,因此,即便攻击者截获第二访问请求中的用户token和加密链接地址,也只能在用户token的生存时间内下载所截获的加密链接地址对应的单个文件,通过在第一接口服务器端设置防火墙来防御攻击者利用截获的第二访问请求发起分布式拒绝服务攻击。
可选地,第一接口服务器可以为tomcat集群服务器。在tomcat集群服务器中,每台tomcat服务器都是运行其自己进程的独立服务器,这些进程可以彼此通信,对客户端来说,多台tomcat服务器就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据,从而解决网站访问量过大导致web服务器崩溃的问题。
进一步地,在客户端和tomcat集群服务器之间设置第一反向代理服务器,用于转发客户端和tomcat集群服务器之间的数据。通过设置第一反向代理服务器,客户端不需要记住每个tomcat服务器的地址,可以直接访问第一反向代理服务器的地址,由第一反向代理服务器将客户端的文件访问请求转发至tomcat集群服务器中对应的tomcat服务器。可选地,第一反向代理服务器为Nginx服务器。
如图6所示,根据本发明的第二种基于云服务的文件访问方法,包括如下步骤:
客户端发起第一访问请求;
第二反向代理服务器将第一访问请求转发至第二接口服务器;
第二接口服务器基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器返回至客户端;
客户端使用加密链接地址发起第二访问请求;
第二反向代理服务器查找是否存储有加密链接地址对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址。
进一步地,第二反向代理服务器,根据来自客户端的访问请求中的关键字判断是第一访问请求还是第二访问请求。
进一步地,第一访问请求中包括用户要访问的目标文件信息,例如目标文件序列号(ID),第二接口服务器根据目标文件信息查找对应的云存储地址,并生成加密链接地址;
可选地,第一访问请求和第二访问请求中还携带鉴权信息,以供第二接口服务器和第二反向代理服务器基于接收的鉴权信息进行鉴权操作。其中,第一访问请求中的鉴权信息包括用户的用户标识(ID)和密码,第二接口服务器通过该用户标识和密码验证用户是否合法,是则鉴权通过,在鉴权通过时返回配置有生存时间的用户令牌(token)至客户端;客户端发起的携带加密链接地址的第二访问请求中携带该用户令牌,以供第二反向代理服务器在且仅在用户令牌的生存时间内,响应客户端的第二访问请求。
本实施例中,服务提供者部署云服务时,预先把目标文件存储至对应的云存储地址,并把用户ID、目标文件ID、云存储地址存储在第二接口服务器或与第二接口服务器相连的第三数据库中,第二接口服务器接收第一访问请求时,在第二接口服务器或第三数据库中查找目标文件ID对应的云存储地址。另外预先把用户token、加密链接地址、云存储地址存储在第二反向代理服务器中或与第二反向代理服务器相连的第四数据库中,第二反向代理服务器接收第二访问请求时,在第二反向代理服务器或第四数据库中查找是否有与用户token和加密链接地址对应的云存储地址。可选地,第四数据库为Mysql数据库;第四数据库的结构如上述表1所示。
可选地,第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:提取第一访问请求中的用户标识和目标文件标识,查找与目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,通过安全哈希算法(SHA1)或其它加密算法对云存储地址进行加密,生成加密链接地址。此处的加密算法应与服务提供者在第二反向代理服务器中或与第二反向代理服务器相连的第四数据库中预先存储的加密链接地址所使用的加密算法相同。例如:生成的加密链接地址,结构形如http://cloud- download.server.nubia.cn?path=加密地址。本发明的加密链接地址避免了文件存储结构路径直接暴露给客户,从而防止了被有恶意的人解析使用。
可选地,第二接口服务器为tomcat集群服务器。
可选地,第二反向代理服务器为Nginx服务器。Nginx服务器,使用proxy_pass方式,转发第二访问请求至云存储地址所在的云存储服务器。本实施例通过第二反向代理服务器,直接将客户端的第二访问请求转发至云存储服务器,并将来自云存储服务器的第二访问响应直接转发至客户端,从而省略了一次通过第二接口服务器转发的步骤,节约了带宽。
可选地,Nginx服务器查找是否有与客户端的第二访问请求中的加密链接地址对应的云存储地址时,使用TCP长连接方式与第四数据库建立连接,以减小连接第四数据库时的开销。
可选地,第二接口服务器可以允许客户端同时对多个文件进行访问。本发明的文件访问请求为文件下载请求,由于用户token配置有一定的生存时间,因此,即便攻击者截获第二访问请求中的用户token和加密链接地址,也只能在用户token的生存时间内下载所截获的加密链接地址对应的单个文件,通过在第二反向代理服务器端设置防火墙来防御攻击者利用截获的第二访问请求发起分布式拒绝服务攻击。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于云服务的文件访问系统,包括用于发起第一访问请求和第二访问请求的客户端以及用于存储文件的云存储服务器,其特征在于,还包括:第二反向代理服务器和第二接口服务器;其中,
第二反向代理服务器,用于将来自客户端的第一访问请求转发给第二接口服务器;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至云存储地址所在的云存储服务器;
第二接口服务器,用于基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器转发给客户端,
其中,预先将云存储地址存储在第二接口服务器或与第二接口服务器相连的数据库中。
2.根据权利要求1所述的基于云服务的文件访问系统,其特征在于,所述第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:
提取第一访问请求中的用户标识和目标文件标识,查找目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,对云存储地址进行加密,生成加密链接地址。
3.根据权利要求1所述的基于云服务的文件访问系统,其特征在于:所述第二接口服务器为tomcat集群服务器。
4.根据权利要求1所述的基于云服务的文件访问系统,其特征在于:所述第二反向代理服务器为Nginx服务器。
5.一种基于云服务的文件访问系统,包括用于发起第一访问请求和第二访问请求的客户端,其特征在于,还包括:第一接口服务器,其中,
第一接口服务器,用于基于接收的第一访问请求生成加密链接地址,并返回给客户端;在接收到来自客户端的携带加密链接地址的第二访问请求时,查找是否存储有与加密链接地址对应的云存储地址,如果有,转发第二访问请求至对应的云存储地址,
其中,预先将云存储地址存储在第一接口服务器或与第一接口服务器相连的数据库中。
6.根据权利要求5所述的基于云服务的文件访问系统,其特征在于,还包括第一反向代理服务器,用于转发所述客户端和所述第一接口服务器之间的数据。
7.一种基于云服务的文件访问方法,其特征在于,包括如下步骤:
客户端发起第一访问请求;
第二反向代理服务器将第一访问请求转发至第二接口服务器;
第二接口服务器基于接收的第一访问请求生成加密链接地址,并通过第二反向代理服务器返回给客户端;
客户端使用加密链接地址,发起第二访问请求;
第二反向代理服务器查找是否存储有与加密链接地址相对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址,
其中,预先将云存储地址存储在第二接口服务器或与第二接口服务器相连的数据库中。
8.根据权利要求7所述的基于云服务的文件访问方法,其特征在于,所述第二接口服务器基于接收的第一访问请求生成加密链接地址,具体包括:
提取第一访问请求中的用户标识和目标文件标识,查找目标文件标识对应的云存储地址,根据用户标识生成用户令牌,使用用户令牌作为加密密钥,对云存储地址进行加密,生成加密链接地址。
9.一种基于云服务的文件访问方法,其特征在于,包括如下步骤:
客户端发起第一访问请求;
第一接口服务器接收第一访问请求,生成加密链接地址,并返回给客户端;
客户端使用加密链接地址,发起第二访问请求;
第一接口服务器查找是否存储有与加密链接地址相对应的云存储地址,如果有对应的云存储地址,转发第二访问请求至对应的云存储地址,
其中,预先将云存储地址存储在第一接口服务器或与第一接口服务器相连的数据库中。
10.一种根据权利要求9所述的基于云服务的文件访问方法,其特征在于:所述客户端和第一接口服务器之间,通过第一反向代理服务器转发数据。
CN201611123050.4A 2016-12-08 2016-12-08 一种基于云服务的文件访问系统和方法 Active CN106685932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611123050.4A CN106685932B (zh) 2016-12-08 2016-12-08 一种基于云服务的文件访问系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611123050.4A CN106685932B (zh) 2016-12-08 2016-12-08 一种基于云服务的文件访问系统和方法

Publications (2)

Publication Number Publication Date
CN106685932A CN106685932A (zh) 2017-05-17
CN106685932B true CN106685932B (zh) 2019-11-15

Family

ID=58868466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611123050.4A Active CN106685932B (zh) 2016-12-08 2016-12-08 一种基于云服务的文件访问系统和方法

Country Status (1)

Country Link
CN (1) CN106685932B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426341A (zh) * 2017-09-13 2017-12-01 北京智芯微电子科技有限公司 App与服务端交互的系统及方法
CN107613005B (zh) * 2017-09-20 2021-04-13 携程旅游信息技术(上海)有限公司 反向代理方法及装置、电子设备、存储介质
CN112866228B (zh) * 2017-09-28 2023-04-18 中国银联股份有限公司 一种控制web系统越权访问的方法和装置
CN109981551A (zh) * 2017-12-28 2019-07-05 航天信息股份有限公司 一种基于区块链的数据传输系统、方法及相关设备
CN108833518B (zh) * 2018-06-05 2019-04-09 南京联创互联网技术有限公司 一种基于nginx服务器生成会话ID的方法
CN111258560B (zh) * 2018-11-30 2024-04-16 顺丰科技有限公司 数据存储装置、系统及方法
CN109634876A (zh) * 2018-12-11 2019-04-16 广东省新代通信与网络创新研究院 文件访问方法、装置及计算机可读存储介质
CN109669790A (zh) * 2018-12-17 2019-04-23 北京锐安科技有限公司 基于云平台的数据共享方法、装置、共享平台及存储介质
DE102018133605B4 (de) * 2018-12-27 2023-03-02 Bachmann Gmbh Verfahren und Vorrichtung zur Prüfung der Integrität von Modulen einer Windkraftanlage
CN110266792B (zh) * 2019-06-18 2024-04-12 深圳前海微众银行股份有限公司 地址转换方法、装置、设备与计算机可读存储介质
CN110351276B (zh) * 2019-07-12 2021-11-23 全链通有限公司 数据处理方法、设备及计算机可读存储介质
CN112579525A (zh) * 2019-09-30 2021-03-30 成都长虹网络科技有限责任公司 一种基于web的统一文件处理方法及系统
CN111049832B (zh) * 2019-12-13 2021-11-09 北京浪潮数据技术有限公司 一种反向代理方法及相关装置
CN111198848B (zh) * 2020-01-03 2022-06-24 南京领行科技股份有限公司 一种分布式文件访问方法、系统、服务器和存储介质
CN113630434A (zh) * 2021-06-19 2021-11-09 特瓦特能源科技有限公司 一种针对客户端访问请求的处理方法及服务端
CN114389874B (zh) * 2022-01-12 2024-05-14 平安壹钱包电子商务有限公司 云应用服务的响应方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067385A (zh) * 2012-12-27 2013-04-24 深圳市深信服电子科技有限公司 防御会话劫持攻击的方法和防火墙
CN104065680A (zh) * 2013-03-21 2014-09-24 华为终端有限公司 信息处理方法、检索方法、装置、用户终端及服务器
CN104869103A (zh) * 2014-02-24 2015-08-26 华为终端有限公司 查找多媒体文件的方法、终端设备和服务器
CN106031183A (zh) * 2014-03-07 2016-10-12 华为技术有限公司 通信方法、用户设备、内容服务器和控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937753B2 (en) * 2005-03-25 2011-05-03 Microsoft Corporation Method and apparatus for distributed information management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067385A (zh) * 2012-12-27 2013-04-24 深圳市深信服电子科技有限公司 防御会话劫持攻击的方法和防火墙
CN104065680A (zh) * 2013-03-21 2014-09-24 华为终端有限公司 信息处理方法、检索方法、装置、用户终端及服务器
CN104869103A (zh) * 2014-02-24 2015-08-26 华为终端有限公司 查找多媒体文件的方法、终端设备和服务器
CN106031183A (zh) * 2014-03-07 2016-10-12 华为技术有限公司 通信方法、用户设备、内容服务器和控制器

Also Published As

Publication number Publication date
CN106685932A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN106685932B (zh) 一种基于云服务的文件访问系统和方法
US10826872B2 (en) Security policy for browser extensions
Kaur et al. Dark web: A web of crimes
Banu et al. A comprehensive study of phishing attacks
US9900346B2 (en) Identification of and countermeasures against forged websites
US9716726B2 (en) Method of identifying and counteracting internet attacks
Dougan et al. Man in the browser attacks
EP3417590B1 (en) Phishing attack detection and mitigation
CN106411823B (zh) 一种基于cdn的访问控制方法及相关设备
CN110138568A (zh) 内网访问方法和系统
CN105429953B (zh) 一种用于访问网站的方法、装置和系统
US20180302437A1 (en) Methods of identifying and counteracting internet attacks
US20050238174A1 (en) Method and system for secure communications over a public network
CN112804222B (zh) 基于云部署的数据传输方法、装置、设备及存储介质
Dutta et al. Tor—the onion router
CN106657074A (zh) 一种url伪装及参数隐藏传递的方法及系统
CN104813607B (zh) 用于专用网络的基于电子集合的两级访问控制方法和装置
CN106850592B (zh) 一种信息处理方法、服务器及终端
Sinha et al. CookieArmor: Safeguarding against cross‐site request forgery and session hijacking
JP5743822B2 (ja) 情報漏洩防止装置及び制限情報生成装置
CN110875903A (zh) 一种安全防御方法及设备
Muttoo et al. Analysing security checkpoints for an integrated utility-based information system
Malik et al. High level browser security in cloud computing services from cross site scripting attacks
CN110110511A (zh) 一种企业数据库安全访问装置
Vinodhini et al. Prevention of personal data in cloud computing using bio-metric

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