虚拟主机的两种主要实现方式 - 我的天地

虚拟主机的两种主要实现方式

rurutia posted @ 2007年4月15日 07:49 in web开发 with tags 虚拟主机 virtualhost , 2648 阅读

配置虚拟主机的时候一直纳闷,为啥另买的域名,在虚拟主机的设置里面添加上,才能正确访问,明明已经有了域名到ip的映射,而且直接输入服务器的IP却没法访问到自己的页面。昨天在实验室看《linux网络管理员指南》,看到apache一章,总算明白了。

简单的说,虚拟主机的实现主要有两种方式,IP-Based和Name-Based:

IP-Based虚拟主机:

顾名思义,就是根据请求的IP不同,来区分针对不同主机的访问。采用这种配置,要有一个先决条件,就是服务器必须有多个IP地址,让apache监听各个IP接口的请求,就可以实现虚拟主机的功能。

但是,IP-Based有个很大的缺点,就是添加一个虚拟主机就要用掉一个IP地址,虚拟主机不多还好办,要是提供虚拟主机服务的服务商,要处理成千上万的用户的主机,就没法采用这种方法了,解决办法就是采用Name-Based。

Name-Based虚拟主机:

这个就比较有趣了,判断不同主机的依据不再是请求的IP,而是请求的地址。HTTP request中的Host header会包含请求的域名,根据这个信息,就可以知道请求者要访问那个主机 的内容了,这样服务器只需要一个IP也可以处理成千上万不同的虚拟主机的请求。这也就是 为什么自己另买的域名必须在服务器上配置一下才能用了。

 

忽然想到,怪不得买了主机,服务商都会免费送个域名,因为没有人能用IP访问到你的页面。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee