我有一个 Apache 服务器,上面有一组基于名称的虚拟主机。请求通过 Apache 反向代理发送到服务器,它将所有对这些站点名称的请求转发到后端服务器上的端口 80。虽然这些站点中的大多数似乎都运行良好,但一个虚拟主机无法接收对其指定站点名称的请求,而这些请求由默认虚拟主机提供服务。
这是有问题的主机的配置:
<VirtualHost *:80>
ServerName www.dev.awesome.ac.nz
ServerAdmin netaccount@auckland.ac.nz
ErrorLog logs/awesomeacnz.error.log
CustomLog logs/awesomeacnz.access.log common
Alias / /var/www/html/awesomeacnz/
</VirtualHost>
这是 Apache vhost 诊断的输出:
[aful018@wprappdev01 ~]$ sudo /usr/sbin/apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443 wprappdev01.its.auckland.ac.nz (/etc/httpd/conf.d/ssl.conf:74)
*:80 is a NameVirtualHost
default server asblog.auckland.ac.nz (/etc/httpd/conf.d/academicservices.conf:1)
port 80 namevhost asblog.auckland.ac.nz (/etc/httpd/conf.d/academicservices.conf:1)
port 80 namevhost www.dev.awesome.ac.nz (/etc/httpd/conf.d/awesomeacnz.conf:1)
port 80 namevhost www.dev.auckland.ac.nz (/etc/httpd/conf.d/insideword.conf:1)
port 80 namevhost spearblog.dev.auckland.ac.nz (/etc/httpd/conf.d/spear.conf:1)
port 80 namevhost wordpress-theme.dev.auckland.ac.nz (/etc/httpd/conf.d/theme-dev.conf:1)
Syntax OK
我在上面看不到任何表明问题的东西,但是当我在 www.dev.awesome.ac.nz 上发送任何请求时,该请求由 asblog.auckland.ac.nz 的虚拟主机提供服务,即你可以看到上面是默认主机。
有谁知道为什么上面定义的虚拟主机不会匹配该站点的请求?httpd.conf 中的 NameVirtualHost 指令设置为 *:80,并且同一服务器上的其他类似(不完全相同)配置的站点工作正常。
服务器是在 Red Hat EL 6.1 上运行的 apache 2.2.15。