CN103167006B - 虚拟机提供Web服务的方法、虚拟机监控器与系统 - Google Patents

虚拟机提供Web服务的方法、虚拟机监控器与系统 Download PDF

Info

Publication number
CN103167006B
CN103167006B CN201110427021.8A CN201110427021A CN103167006B CN 103167006 B CN103167006 B CN 103167006B CN 201110427021 A CN201110427021 A CN 201110427021A CN 103167006 B CN103167006 B CN 103167006B
Authority
CN
China
Prior art keywords
virtual machine
domain name
monitor
visited
address
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
CN201110427021.8A
Other languages
English (en)
Other versions
CN103167006A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201110427021.8A priority Critical patent/CN103167006B/zh
Publication of CN103167006A publication Critical patent/CN103167006A/zh
Application granted granted Critical
Publication of CN103167006B publication Critical patent/CN103167006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,其中,该方法包括虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。本发明在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。

Description

虚拟机提供Web服务的方法、虚拟机监控器与系统
技术领域
本发明涉及互联网技术领域,特别地,涉及一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统。
背景技术
随着虚拟化技术的发展,虚拟机得到了广泛的应用,出现了用虚拟机来代替物理主机做Web服务器的应用需求。但在现实应用中,一台刀片服务器上往往创建了多台虚拟机,如果给每台虚拟机都配置一个公网IP地址,在IPV4地址严重短缺的情况下会造成极大的浪费,因此,为了充分利用有效的IP地址资源,考虑采用在虚拟机中配置私有地址,共享单一公有IP地址方式来提供虚拟机的Web服务,但这必然面临当用户向虚拟机的Web服务器发起HTTP请求时,由于虚拟机上的Web服务器都使用了80目标端口及同样的对外公网IP,无法定位到特定的虚拟机Web服务上的问题,因此也无法直接使用NAT(NetworkAddressTranslation,网络地址转换)技术来解决这个问题。
发明内容
本发明要解决的一个技术问题是提供一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,能够使一台服务器上的各虚拟机在共享一个公有IP地址的情况下提供Web服务。
根据本发明的一方面,提出了一种虚拟机提供Web服务的方法,包括虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
根据本发明的另一方面,还提出了一种虚拟机监控器,包括请求接收单元,用于接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;网络地址转换单元,与请求接收单元相连,用于根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;Web服务访问单元,与网络地址转换单元相连,用于根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
根据本发明的又一方面,还提出了一种虚拟机系统,包括虚拟机监控器和多个虚拟机,其中,每个虚拟机,与虚拟机监控器相连,用于接收来自虚拟机监控器的Web访问请求,并将网页内容返回给用户。
本发明提供的虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明虚拟机提供Web服务的方法的一个实施例的流程示意图。
图2是本发明虚拟机提供Web服务的方法的另一实施例的流程示意图。
图3是本发明虚拟机提供Web服务的方法的又一实施例的流程示意图。
图4是本发明虚拟机监控器的一个实施例的结构示意图。
图5是本发明虚拟机系统的一个实施例的结构示意图。
图6是本发明虚拟机系统的另一实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
本发明的下述实施例对原有虚拟机架构进行了改造,在VMM(VirtualMachineMonitor,虚拟机监控器)层中增加了一层应用层NAT,用于维护虚拟机私有地址和虚拟机域名之间的映射关系,这样这些创建的VMM上的虚拟机就可以通过共享一个VMM的公有地址(例如,IPv4地址)来提供Web服务。
图1是本发明虚拟机提供Web服务的方法的一个实施例的流程示意图。
如图1所示,可以包括以下步骤:
S102,虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
S104,虚拟机监控器根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
S106,虚拟机监控器根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
该实施例在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。
图2是本发明虚拟机提供Web服务的方法的另一实施例的流程示意图。
如图2所示,可以包括以下步骤:
S202,DNS(DomainNameSystem,域名系统)服务器接收DNS请求,请求中包含待访问的虚拟机域名;
S204,DNS服务器根据预设的虚拟机域名与公有地址之间的映射关系将待访问的虚拟机域名解析为虚拟机监控器的公有地址;
S206,DNS服务器利用虚拟机监控器的公有地址向虚拟机监控器发起HTTP请求包;
S208,虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
S210,虚拟机监控器根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
S212,虚拟机监控器根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
进一步地,在S212之后,被访问的虚拟机将网页内容返回给用户。
图3是本发明虚拟机提供Web服务的方法的又一实施例的流程示意图。
如图3所示,可以包括以下步骤:
S302,当外部用户通过浏览器访问虚拟机的Web服务时,首先向DNS服务器发起一个DNS请求,该请求中包含了提供Web服务的虚拟机域名;
S304,DNS服务器根据预先设置的虚拟机监控器的公有IP地址与虚拟机域名之间的映射关系将所有虚拟机上的域名都解析为该VMM的公网IPv4地址,并向用户返回VMM的公网IPv4地址;
S306,构造HTTP请求包,该请求包中携带Host属性,值为需要访问的虚拟机的域名,再将该HTTP请求包发送到VMM;
S308,VMM通过NAT检查虚拟机域名与虚拟机私有IP地址之间的映射关系,根据虚拟机域名将目标地址改为虚拟机的私有地址;
其中,NAT层地址映射表如下述表1所示:
虚拟机的域名 虚拟机对应的私有IP地址
www.a.com 192.168.1.1
www.b.com 192.168.1.2
...... ......
表1
S310,将虚拟机的私有地址返回给VMM;
S312,VMM根据接收到的虚拟机的私有地址访问对应的虚拟机,从而实现对虚拟机中的web服务的访问;
S314,对应的虚拟机把网页内容返回给用户。
在本发明虚拟机提供Web服务的方法的再一实施例中,只需要额外增加一台授权DNS服务器即可,在授权的DNS服务器上把需要提供Web服务的虚拟机的域名映射为对应的VMM公有地址,在VMM上配置NAT层,并在NAT表中增加虚拟机的域名与相应私有IP地址之间的映射关系。例如,在虚拟机环境下,给VMM配备一个全局IPv4地址202.97.0.1,在VMM上开启两个虚拟机VM1和VM2,为VM1分配的私有地址是192.168.1.1,为VM2分配的私有地址是192.168.1.2,设置VM1使用www.a.com作为域名启动Webservice,VM2使用www.b.com作为域名启动Webservice,并且外部用户可以直接通过域名访问到相应的Webservice。在VMM上配制应用层NAT,即维护上述表1,同时在DNS服务器中将www.a.com和www.b.com均映射为202.97.0.1。
当外部用户发起HTTP请求后,例如,在浏览器中输入www.a.com后,浏览器首先会发起DNS解析请求,结果将www.a.com解析为202.97.0.1,然后构造HTTP请求包,包中会携带Host属性,值为www.a.com,将这个请求发送到VMM,VMM检查映射规则,将目标地址改为192.168.1.1,然后再送交给VM1,从而实现对VM1的Web服务的访问。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本发明虚拟机监控器的一个实施例的结构示意图。
如图4所示,该实施例的虚拟机监控器400可以包括:
请求接收单元402,用于接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
网络地址转换单元404,与请求接收单元相连,用于根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
Web服务访问单元406,与网络地址转换单元相连,用于根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
该实施例改变了现有虚拟机架构的结构,在VMM上增加了一个网络地址转换单元,用于维护虚拟机私有地址与域名之间的映射关系,从而实现了一台服务器上的多台虚拟机能够共享单一IP地址来提供Web服务的功能,能够很好地节省IP地址资源,具有部署简单、低成本的特点。
图5是本发明虚拟机系统的一个实施例的结构示意图。
如图5所示,该实施例的系统500可以包括:
虚拟机监控器502,可以通过图4所示的实施例实现;
多个虚拟机504,其中,每个虚拟机均与虚拟机监控器相连,用于接收来自虚拟机监控器的Web访问请求,并将网页内容返回给用户。
图6是本发明虚拟机系统的另一实施例的结构示意图。
如图6所示,与图5中的实施例相比,该实施例的系统600还可以包括:
DNS服务器602,与虚拟机监控器互通(例如,通过互联网或其他方式互通),用于接收DNS请求,请求中包含待访问的虚拟机域名,根据预设的虚拟机域名与公有地址之间的映射关系将待访问的虚拟机域名解析为虚拟机监控器的公有地址,利用虚拟机监控器的公有地址向虚拟机监控器发起HTTP请求包。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (6)

1.一种虚拟机提供Web服务的方法,其特征在于,包括:
虚拟机监控器接收HTTP请求包,所述HTTP请求包中携带待访问的虚拟机域名;
所述虚拟机监控器通过NAT检查预设的虚拟机域名与虚拟机私有地址之间的映射关系,根据所述预设的虚拟机域名与私有地址之间的映射关系将所述待访问的虚拟机域名解析为待访问的虚拟机私有地址,其中,所述NAT用于维护虚拟机域名与虚拟机私有地址之间的映射关系;
根据所述待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
DNS服务器接收DNS请求,所述请求中包含所述待访问的虚拟机域名;
根据预设的虚拟机域名与公有地址之间的映射关系将所述待访问的虚拟机域名解析为虚拟机监控器的公有地址;
利用所述虚拟机监控器的公有地址向所述虚拟机监控器发起所述HTTP请求包。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对应虚拟机将网页内容返回给用户。
4.一种虚拟机监控器,其特征在于,包括:
请求接收单元,用于接收HTTP请求包,所述HTTP请求包中携带待访问的虚拟机域名;
网络地址转换单元,与所述请求接收单元相连,用于通过NAT检查预设的虚拟机域名与虚拟机私有地址之间的映射关系,根据所述预设的虚拟机域名与私有地址之间的映射关系将所述待访问的虚拟机域名解析为待访问的虚拟机私有地址,其中,所述NAT用于维护虚拟机域名与虚拟机私有地址之间的映射关系;
Web服务访问单元,与所述网络地址转换单元相连,用于根据所述待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
5.一种虚拟机系统,其特征在于,包括权利要求4所述的虚拟机监控器和多个虚拟机,其中,
每个虚拟机,与所述虚拟机监控器相连,用于接收来自所述虚拟机监控器的Web访问请求,并将网页内容返回给用户。
6.根据权利要求5所述的虚拟机系统,其特征在于,所述系统还包括:
DNS服务器,与所述虚拟机监控器互通,用于接收DNS请求,所述请求中包含所述待访问的虚拟机域名,根据预设的虚拟机域名与公有地址之间的映射关系将所述待访问的虚拟机域名解析为虚拟机监控器的公有地址,利用所述虚拟机监控器的公有地址向所述虚拟机监控器发起所述HTTP请求包。
CN201110427021.8A 2011-12-19 2011-12-19 虚拟机提供Web服务的方法、虚拟机监控器与系统 Active CN103167006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110427021.8A CN103167006B (zh) 2011-12-19 2011-12-19 虚拟机提供Web服务的方法、虚拟机监控器与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110427021.8A CN103167006B (zh) 2011-12-19 2011-12-19 虚拟机提供Web服务的方法、虚拟机监控器与系统

Publications (2)

Publication Number Publication Date
CN103167006A CN103167006A (zh) 2013-06-19
CN103167006B true CN103167006B (zh) 2016-08-03

Family

ID=48589744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110427021.8A Active CN103167006B (zh) 2011-12-19 2011-12-19 虚拟机提供Web服务的方法、虚拟机监控器与系统

Country Status (1)

Country Link
CN (1) CN103167006B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618724B (zh) * 2013-12-03 2018-03-02 中标软件有限公司 终端机与虚拟机之间的通信方法与通信系统
CN105450690B (zh) 2014-08-21 2019-02-22 国际商业机器公司 虚拟机管理程序执行的方法和虚拟机管理系统
US10318321B2 (en) * 2017-04-10 2019-06-11 Hongfujin Precision Electronics(Tianjin)Co., Ltd. Virtual desktop system and method of control
CN108363611A (zh) * 2017-11-02 2018-08-03 北京紫光恒越网络科技有限公司 虚拟机的安全管理方法、装置及全方位虚拟化系统
CN108566445B (zh) * 2018-03-15 2020-12-08 华为技术有限公司 一种报文传输方法及装置
CN113162835B (zh) * 2021-02-26 2022-08-09 北京百度网讯科技有限公司 访问服务资源的方法、装置、设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863143A (zh) * 2005-08-09 2006-11-15 华为技术有限公司 一种实现Web Server访问的方法、系统和装置
CN101119274A (zh) * 2007-09-12 2008-02-06 杭州华三通信技术有限公司 一种提高ssl网关处理效率的方法及ssl网关

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863143A (zh) * 2005-08-09 2006-11-15 华为技术有限公司 一种实现Web Server访问的方法、系统和装置
CN101119274A (zh) * 2007-09-12 2008-02-06 杭州华三通信技术有限公司 一种提高ssl网关处理效率的方法及ssl网关

Also Published As

Publication number Publication date
CN103167006A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
CN103167006B (zh) 虚拟机提供Web服务的方法、虚拟机监控器与系统
US20230171188A1 (en) Linking Resource Instances to Virtual Network in Provider Network Environments
CN102647482B (zh) 一种访问网站的方法和系统
JP2021040352A (ja) 分離仮想ネットワークのためのプライベートエイリアスエンドポイント
EP2745474B1 (en) Virtualization gateway between virtualized and non-virtualized networks
CN106878482B (zh) 网络地址转换方法及装置
CN104079507B (zh) 同步ip信息的方法和装置
CN102246465B (zh) 提供对远程服务的本地安全网络访问
CN109964451A (zh) 虚拟网络验证服务
US20070136506A1 (en) Large page optimizations in a virtual machine environment
US20210160218A1 (en) Private network peering in virtual network environments
CN102523302B (zh) 虚拟机集群的负载均衡方法、服务器及系统
CN113726918A (zh) 基于云计算网络的域名解析方法及相关系统和装置
US11032202B2 (en) Load balancing in data hosting systems
CN102611756B (zh) 一种发送访问请求的方法及系统
CN106790503A (zh) 一种基于HTTP反向代理实现无天窗的IPv4网站应用向IPv6升级的装置
US10999244B2 (en) Mapping a service into a virtual network using source network address translation
US9319272B1 (en) Methods and apparatus for providing composed appliance services in virtualized private networks
CN102546854A (zh) 一种域名和服务器建立http连接的域名解析方法
CN113094182B (zh) 一种服务的负载均衡处理方法、装置及云端服务器
CN105359458A (zh) 网络设备通信方法及网络设备
JP2015503158A (ja) データ・センターにおけるロール・インスタンス到達可能性
CN105045762A (zh) 一种配置文件的管理方法及装置
CN104092785A (zh) 域名注册和解析的方法和基于域名的资源访问方法及装置
MXPA05006610A (es) Sistema y metodo para la resolucion de nombre.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant