[warn] NameVirtualHost *:80 has no VirtualHosts
但是,Web服务器是工作正常。我的网站配置可能有什么错误,使其发出警告?
有问题的配置文件(位于
/etc/apache2/sites-available
中)显示为(为简洁起见,删除了详细信息) > <VirtualHost *>
<Location /mysite>
# Configuration details here...
</Location>
# Use the following for authorization.
<LocationMatch "/mysite/login">
AuthType Basic
AuthName "My Site"
AuthUserFile /etc/sitepasswords/passwd
Require valid-user
</LocationMatch>
</VirtualHost>
我正在使用
<Location>
的事实是否会成为问题的一部分?#1 楼
更改<VirtualHost *>
读取
<VirtualHost *:80>
或其(NameVirtualHost *:80)在您的apache2中添加了两次Confing文件。 (默认情况下,它已添加到ports.conf文件中)
这应清除错误。
此外:您不应忽略此错误。 Apache的配置,尤其是在遍历虚拟主机(例如Include /etc/httpd/vhosts.d/*)时,不稳定。这意味着您无法明确控制主机的加载顺序,因此IP的默认虚拟主机将成为首先加载的主机,这可能会导致意想不到的后果。
其中一个示例是IP的默认虚拟主机也将在该IP上可用,而不是其名称。这可能会导致信息泄漏到Google上,指向您的站点IP而不是名称,这可能会使客户感到困惑。
上面的NameVirtualHost错误可能表明apache已以非最佳方式加载了内容,所以您不应该忽略它。
#2 楼
那可能是因为您在多个地方都使用了NameVirtualHost指令。我不了解其他发行版,但是在Ubuntu / Debian中,Apache的配置分为多个文件,因此您需要必须检查重复的位置(httpd.conf,apache2.conf,ports.conf,conf.d / *)。
哦,我刚刚找到了包含大量信息的出色资源:通用Apache配置错误。
评论
您提供的链接看起来像是尝试理解Apache配置文件的细微差别的绝佳资源。谢谢!
– Kit Roed
09年4月30日在18:35
谢谢!这是我的问题-我为NameVirtualHost创建了virtual.conf,不知道它已经在ports.conf中
–rcampbell
09-10-23在14:13
谢谢-在ubuntu服务器默认配置中,这里存在同样的问题:ports.conf包含NameVirtualHost:80,不应在启用了sites /的配置文件中重复!
– DrSAR
2011-04-30 23:22
就我而言,此问题是因为ubuntu在ports.conf和conf.d / virtualhosts中都具有NameVirtualHost *:80,这似乎是Ubuntu的错误。
–蓬松
2012年7月30日,下午3:10
#3 楼
在Debian / Lenny框上:在/etc/apache2/ports.conf中,还有一个附加的NameVirtualHost语句-可能是导致此问题的原因(/ etc / apache2 / sites中也存在相同的语句-可用/默认)。我评论了该声明,并消除了错误。
#4 楼
您有一个没有匹配VirtualHost条目的NameVirtualHost。这通常不是致命的,只是一个提示性错误。
#5 楼
这是因为您的NameVirtualHost行上有一个端口号(:80
),但您的VirtualHost部分却没有。#6 楼
正如Rune提到的那样,在Debian系统上,NameVirtualHost出现在许多文件中-ports.conf,conf.d / virtual.conf以及可能是您自己的conf文件int站点-可用确保它在一个地方NameVirtualHost *:80(我的文件位于conf.d / virtual.conf中),并且应该发出警告。
如上所述,您还需要使每个可用站点的VirtualHost方向具有此格式
<VirtualHost *:80>
#7 楼
我有同样的问题,但是稍后我禁用了Apache的默认站点。我输入类似# a2dissite default
尝试重新启动Apache 2后,收到以下消息:
“ [警告] NameVirtualHost *:80没有VirtualHosts“
然后我再次启用Apache 2的'default'站点,并且一切正常,使用的命令是:
# a2ensite default
这就是所有人!
评论
这是最好的建议。
– Jini
2011年8月26日下午4:58
很棒的建议,我正在运行zpanelCP,但是没有任何效果。谢谢 ! :)
– Eliran Efron
15年8月29日在8:47
评论
您可以这样设置默认虚拟主机:
–艾米B
2010-10-10 12:49