19.3. 虚拟主机设置

你可以使用 HTTP 配置工具来配置虚拟主机。虚拟主机允许你为不同的 IP 地址、主机名或同一机器上的不同端口运行不同的服务器。譬如,你可以在同一个万维网服务器上使用虚拟主机来运行 http://www.example.com 和 http://www.anotherexample.com 这两个网站。对于默认的虚拟主机和基于 IP 的虚拟主机,该选项和<VirtualHost> 指令相对应;对于基于名称的虚拟主机,该选项和 <NameVirtualHost> 指令相对应。

为某个虚拟主机设置的指令只应用于该虚拟主机。如果某指令使用「编辑默认设置」 按钮为整个服务器全局设置,而虚拟主机设置中却没有被定义,那么默认设置就会被使用。譬如,你可以在「主」标签中定义「网主电子邮件地址」,而不必在每个虚拟主机中个别定义电子邮件地址。

HTTP 配置工具 包括如图 19-8所示的默认虚拟主机。

图 19-8. 虚拟主机

http://httpd.apache.org/docs-2.0/vhosts/ 和在你的机器上安装的 Apache HTTP 服务器 文档提供了更多关于虚拟主机的信息。

19.3.1. 添加和编辑虚拟主机

要添加虚拟主机,点击「虚拟主机」 标签,然后点击「添加」 按钮。你还可以从列表中选择一个虚拟主机,然后点击「编辑」按钮来编辑它。

19.3.1.1. 常规选项

「常规选项」设置只应用于你正在配置的虚拟主机。在「虚拟主机名称」文本字段内设置虚拟主机的名称。该名称被 HTTP 配置工具用来区别不同的虚拟主机。

「文档根目录」的值设为包含该虚拟主机根文档(如 index.html)的目录。该选项和 <VirtualHost> 指令内的 DocumentRoot 指令相对应。在 Red Hat Linux 7 之前,所提供的 Apache HTTP 服务器 使用 /home/httpd/html 作为 DocumentRoot。可是在 Red Hat Linux 9 中,默认的 DocumentRoot/var/www/html

「网主电子邮件地址」VirtualHost 内的 ServerAdmin 指令相对应。如果你选择了要在错误页里显示页脚和电子邮件地址的话,该地址被用在错误页内的页脚上。

「主机信息」部分,选择「默认虚拟主机」「基于 IP 的虚拟主机」、或「基于名称的虚拟主机」

「默认虚拟主机」

你应该只配置一个默认虚拟主机(切记,默认只有一个设置)。当请求的 IP 地址没有在另一个虚拟主机中确切列出时,默认的虚拟主机就会被使用。如果默认虚拟主机没有被定义,主服务器设置就会被使用。

「基于 IP 的虚拟主机」

如果你选择了「基于 IP 的虚拟主机」,一个根据服务器的 IP 地址来配置 <VirtualHost> 指令的屏幕就会出现。在「IP 地址」字段内指定 IP 地址。要指定多于一个 IP 地址,用空格把它们分开。要指定端口,使用 IP Address:Port 格式。使用“:*”来为该 IP 地址配置所有端口。在「服务器主机名」字段中指定虚拟主机的主机名。

「基于名称的虚拟主机」

如果你选择了「基于名称的虚拟主机」,一个根据服务器的主机名称来配置 NameVirtualHost 指令的窗口就会出现。在「IP 地址」字段内指定 IP 地址。要指定多于一个 IP 地址,用空格把它们分开。要指定端口,使用 IP Address:Port 格式。使用“:*”来为该 IP 地址配置所有端口。在「服务器主机名」字段中指定虚拟主机的主机名。在「别名」部分,点击「添加」来添加主机名的别名。添加别名会在 NameVirtualHost 指令内添加 ServerAlias 指令。

19.3.1.2. SSL

注记注记
 

你不可以在 SSL 中使用基于名称的虚拟主机,因为 SSL 握手(浏览器接受安全万维网服务器的证书时)发生在识别正确的基于名称的虚拟主机的 HTTP 请求之前。如果你想使用基于名称的虚拟主机,它们只能在你的非安全万维网服务器中使用。

图 19-9. SSL 支持

如果 Apache HTTP 服务器 没有配置 SSL 支持,Apache HTTP 服务器 和它的客户之间的通信就不会被加密。这对于不包括私人或保密信息的网站来说是可行的。譬如,发行开源软件和文档的开源网站就不必使用安全通讯。然而,索求信用卡信息的电子商务网站就应该使用 Apache SSL 支持来加密通讯。启用 Apache SSL 支持会启用 mod_ssl 安全模块。要通过 HTTP 配置工具来启用它,你必须在「主」标签 => 「可用地址」中允许通过端口 443 的访问。详情请参阅第 19.1 节。然后,在「虚拟主机」标签中选择虚拟主机名,点击「编辑」按钮,从左首的菜单中选择 「SSL」,并且选择「启用 SSL 支持」选项,如图 19-9所示。「SSL 配置」部分被预配置了虚构的数码证书。数码证书为你的安全万维网服务器提供验证,并向客户万维网浏览器表明安全服务器的身份。你必须另行购买自己的数码证书。不要在你的网站使用 Red Hat Linux 中提供的虚构证书。关于购买 CA 认可的数码证书的详情,请参阅第20章

19.3.1.3. 其它虚拟主机选项

虚拟主机的「站点配置」「环境变量」、以及「目录」选项和你点击了「编辑默认设置」按钮以后所见的指令相同。只不过,这里的配置仅用于你正在配置的个别虚拟主机。关于这些选项的细节,请参阅第 19.2 节