我的服务器正在运行 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 定义就可以为多个域提供服务。