错误:“VirtualHost *:80 - 不支持使用NameVirtualHost地址混合*端口和非*端口,继续使用未定义的结果”

时间:2008-09-02 08:14:55

标签: windows apache wamp

我正在WindowsXP上运行WAMP v2.0,我在http-vhosts.conf文件中设置了一堆虚拟主机。

这是有效的,但在上周我试试&启动WAMP我在事件日志中收到此错误:

  

VirtualHost *:80 - 混合*端口和   具有NameVirtualHost的非*端口   继续,不支持地址   结果不明确。

,服务器无法启动。我想不出有什么变化。

我已经复制了下面的conf文件。

NameVirtualHost *
<VirtualHost *:80>
    ServerName dev.blog.slaven.net.au
    ServerAlias dev.blog.slaven.net.au
    ServerAdmin user@host.com
    DocumentRoot "c:/Project Data/OtherProjects/slaven.net.au/blog/" 
    ErrorLog "logs/blog.slaven.localhost-error.log"
    CustomLog "logs/blog.slaven.localhost-access.log" common

    <Directory "c:/Project Data/OtherProjects/slaven.net.au/blog/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

编辑:我想添加,如果我更改NameVirtualHosts指令以指定端口,即

NameVirtualHost *:80

我收到此错误:

  

通常只允许使用每个套接字地址(协议/网络地址/端口)。 :make_sock:无法绑定到地址0.0.0.0:80

2 个答案:

答案 0 :(得分:4)

  

NameVirtualHost *:80

     

我收到此错误:

     

通常只允许使用每个套接字地址(协议/网络地址/端口)的一种用法。 :make_sock:无法绑定到地址0.0.0.0:80

我认为这可能是因为你还有其他东西在听80端口。你有其他服务器(或Skype)在运行吗?

(如果是Skype:取消勾选“工具&gt;选项&gt;高级&gt;连接&gt;使用端口80和443作为传入连接的替代方式”)

答案 1 :(得分:0)

好吧,似乎问题在于你分配端口的方式(和顺序)。

基本上,*:80表示“在此配置中为所有主机使用端口80”。执行此操作时,Apache会尝试将该主机绑定到0.0.0.0:80,这意味着主机将接收通过端口80进入计算机的每个数据包,无论它打算去哪个虚拟主机。这应该只使用一次,并且只有在该配置中有一个主机时才会使用。

因此,如果配置文件中的两台主机上有相同的*:80指令,则服务器将不会加载,因为它将尝试两次绑定0.0.0.0:80,第二次尝试失败。 (这解释了“通常只允许使用每个套接字地址(协议/网络地址/端口)。:make_sock:无法绑定到地址0.0.0.0:80”消息)。