在 VirtualHost 配置中指定多个 NameVirtualHosts

在 VirtualHost 配置中指定多个 NameVirtualHosts

我的服务器正在运行 Apache2,并且配置包含几个 NameVirtualHost 设置。

# Example
NameVirtualHost aaa.bbb.ccc.ddd:80
NameVirtualHost xxx.yyy.zzz.qqq:80
NameVirtualHost [aaaa:ssss:dddd:ffff:gggg:hhhh]:80

它们全部都有“聆听”设置。

目前,我<VirtualHost foo:80>为每个网站跟踪两个或更多 IP 地址,因为我希望能够控制哪些网站可以通过特定 IP 地址访问。这样做的原因之一是拥有网站所用 IP 地址的所有权。

问题:是否可以创建一个包含多个 NameVirtualHost(但不是同时包含所有 NameVirtualHost)的“捆绑包”NameVirtualHost?提出这个问题的想法和原因是,如果我可以将多个 NameVirtualHost 捆绑为一个,那么我就不必<VirtualHost foo:80>为每个站点管理多个配置集。

干杯。

答案1

ServerAlias是的,这只是指令中拥有多个域的问题。

你可以有一个定义:

<VirtualHost aaa.bb.ccc.d:80>
      ServerName primary.domain.tld
      ServerAlias another.domain.tld *.example.org whatever.bla.ble
      #... other confs
      VirtualDocumentRoot /var/www/htdocs/%0
</VirtualHost>

这样,您只能有一个定义,但只使用一个 vhost 定义就可以为多个域提供服务。

相关内容