<-
Apache HTTP 服务器 2.4 > 基于IP的虚拟主机支持

基于Apache IP的虚拟主机支持

支持Apache!

也可以看看

最佳

什么是基于IP的虚拟主机

基于IP的虚拟主机是一种基于接收请求的IP地址和端口来应用不同指令的方法。最常见的是,它用于在不同端口或接口上为不同的网站提供服务。

在许多情况下,基于名称的虚拟主机更为方便,因为它们允许许多虚拟主机共享一个地址/端口。请参阅基于名称的虚拟主机和基于IP的虚拟主机,以帮助您做出决定。

最佳

系统要求

如术语“ 基于IP的”所示,对于每个基于IP的虚拟主机,服务器 必须具有不同的IP地址/端口组合。这可以通过具有多个物理网络连接的计算机或使用大多数现代操作系统支持的虚拟接口来实现(有关详细信息,请参见系统文档,这些通常称为“ ip别名”,而“ ifconfig”命令为(最常用于设置它们)和/或使用多个端口号。

在Apache HTTP Server的术语中,使用单个IP地址但使用多个TCP端口的也是基于IP的虚拟主机。

最佳

如何设置Apache

有两种方法来配置apache以支持多个主机。通过httpd为每个主机名运行单独的守护程序,或者通过运行支持所有虚拟主机的单个守护程序。

在以下情况下使用多个守护程序:

在以下情况下使用单个守护程序:

最佳

设置多个守护程序

httpd为每个虚拟主机创建一个单独的安装。对于每个安装,请使用Listen配置文件中的伪指令选择守护程序服务的IP地址(或虚拟主机)。例如

Listen 192.0.2.100:80

建议您使用IP地址而不是主机名(请参阅DNS警告)。

最佳

使用虚拟主机设置单个守护程序

对于这种情况,单个httpd服务器将服务于主服务器和所有虚拟主机的请求。该VirtualHost配置文件中的指令用于设置的值ServerAdminServerNameDocumentRootErrorLogTransferLogCustomLog 配置指令为每个虚拟主机不同的值。例如

<VirtualHost 172.20.30.40:80>
    ServerAdmin webmaster@www1.example.com
    DocumentRoot "/www/vhosts/www1"
    ServerName www1.example.com
    ErrorLog "/www/logs/www1/error_log"
    CustomLog "/www/logs/www1/access_log" combined
</VirtualHost>

<VirtualHost 172.20.30.50:80>
    ServerAdmin webmaster@www2.example.org
    DocumentRoot "/www/vhosts/www2"
    ServerName www2.example.org
    ErrorLog "/www/logs/www2/error_log"
    CustomLog "/www/logs/www2/access_log" combined
</VirtualHost>

建议在<VirtualHost>指令中使用IP地址而不是主机名(请参阅DNS警告)。

特定的IP地址或端口优先于其通配符等效项,并且匹配的任何虚拟主机均优先于服务器基础配置。

除了控制进程创建的指令和其他一些指令外,几乎所有配置指令都可以放入VirtualHost指令中。要确定在VirtualHost指令中是否可以使用指令,请使用 指令index检查上下文

SuexecUserGroup 如果使用suEXEC包装器,则可以在VirtualHost指令内使用。

安全性:在指定将日志文件写入何处时,请注意如果启动Apache的用户以外的任何人都具有对其写入目录的写访问权,则存在某些安全风险。有关详细信息,请参阅安全提示文档。

可用语言: zh  |  fr  |  ja  |  ko  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。