我有一台Apache服务器,上面有一组基于名称的虚拟主机 . 请求通过Apache反向代理发送到服务器,后者将这些站点名称的所有请求转发到后端服务器上的端口80 . 虽然大多数这些站点似乎工作正常,但是一个vhost未能获取其指定站点名称的请求,而这些站点名称由默认vhost提供 .

以下是有问题的主机的配置:

<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上发送任何请求时,vhost为asblog.auckland.ac.nz提供了请求,其中as你可以看到上面是默认主机 .

有谁知道为什么上面定义的虚拟主机不匹配该网站的请求? httpd.conf中的NameVirtualHost指令设置为*:80,并且同一服务器上的其他类似(非相同)配置的站点工作正常 .

服务器是在Red Hat EL 6.1上运行的apache 2.2.15 .