首页 百科知识 基于名称的虚拟主机配置

基于名称的虚拟主机配置

时间:2022-10-18 百科知识 版权反馈
【摘要】:使用基于IP地址的虚拟主机,用户将被限制到数目固定的IP地址中,而使用基于名称的虚拟主机,用户可以设置支持任意数目的虚拟主机,而不需要额外的IP地址。为了实现基于名称的虚拟主机,必须对每台主机执行VirtualHost指令和NameVirtualHost指令,以向虚拟主机指定用户想分配的IP地址。还可以在服务器上混合使用基于IP地址的虚拟主机,用独立的IP地址来支持不同的虚拟主机,也可以用多个域名地址来访问同一个虚拟主机。

5.5.2 基于名称的虚拟主机配置

使用基于IP地址的虚拟主机,用户将被限制到数目固定的IP地址中,而使用基于名称的虚拟主机,用户可以设置支持任意数目的虚拟主机,而不需要额外的IP地址。当用户的机器仅仅使用一个IP地址时,仍然可以设置支持无限多的虚拟主机,这种性能的实现需要HTTP/ 1.1协议的支持,也要求客户机和远程用户必须使用支持HTTP/1.1协议的浏览器,最好是当前最新版本的浏览器。使用这种协议的浏览器可以传送“host:heder”,以指定特定的主机。

为了实现基于名称的虚拟主机,必须对每台主机执行VirtualHost指令和NameVirtualHost指令,以向虚拟主机指定用户想分配的IP地址。如果用户的系统只有一个IP地址,用户只能使用这个地址。在VirtualHost指令中,使用ServerName选项为主机指定用户要使用的域名;使用ServerName指令指定域名,对于避免DNS查找非常重要,因为DNS查找失败会停止虚拟主机。每个VirtaulHost指令都使用在NameVirtual Host中指定的IP地址作为参数,用户也可以在VirtualHost指令块中使用Apache指令独立地配置每一个主机。基于名称的虚拟主机使用在“host:header”中指定的域名地址来确定要使用的虚拟主机。如果没有这样的信息,第一台主机就被作为默认主机。下面的例子实现了两个基于名称的虚拟主机:x.test.net和xx.test.net。配置步骤如下:

(1)配置DNS。ServerName为192.168.74.128,域为test.com,具体配置方法参见“DNS服务器的配置和使用”一节的相关内容。

(2)在/var/www文件夹中,建立namevhost1和namevhost2文件夹,用来存放虚拟主机的网页文件。

[root@ localhost~]# mkdir–p/var/www/namevhost1

[root@ localhost~]# mkdir–p/var/www/ namevhost2

(3)新建文件/etc/httpd/vhostconf.d/namevhost.conf,并用gedit文本编辑器编辑,如下所示:

img343

img344

如果系统只有一个IP地址,那么虚拟主机就会阻止访问使用该地址的主服务器,用户将不能直接把主服务器当作Web服务器来用,而只能间接使用它去管理用户的虚拟主机。但是,用户可以配置虚拟主机去管理用户主服务器的Web页面,这样主服务器就可以支持一组功能如同Web网站的虚拟主机,而不是间接作为一个网站来操作。如果用户有两个或更多的IP地址,可以将一个IP地址用于主服务器,其他的IP地址用于虚拟主机。还可以在服务器上混合使用基于IP地址的虚拟主机,用独立的IP地址来支持不同的虚拟主机,也可以用多个域名地址来访问同一个虚拟主机。如果要实现这样的功能,必须使用如下的ServerAlias指令,以列出所选VirtualHost块中的域名:

ServerAliaswww.test.com www.hnspi.edu.cn

传送给虚拟主机IP地址的请求必须和用户配置的其中一个域名相匹配。如果要收到和这些虚拟主机不匹配的请求,用户可以使用“_default_:*”来设置一个默认虚拟主机,这个虚拟的主机将会处理没有匹配的请求。

<VirtualHost default:*>

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈