Erro:“VirtualHost *:80 — a mistura de portas * e portas não-* com um endereço NameVirtualHost não é suportada, prosseguindo com resultados indefinidos”
Pergunta
Estou executando o WAMP v2.0 no WindowsXP e tenho vários hosts virtuais configurados no arquivo http-vhosts.conf.
Isso estava funcionando, mas na última semana, sempre que tento iniciar o WAMP, recebo este erro nos logs de eventos:
VirtualHost *: 80-Mixagem * Portas e não * * portas com um endereço NameVirtualHost não são suportadas, prosseguindo com resultados indefinidos.
e o servidor não inicia.Não consigo pensar no que mudou.
Copiei o arquivo conf abaixo.
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>
EDITAR: Eu quis acrescentar, se eu alterar a diretiva NameVirtualHosts para especificar uma porta, ou seja,
NameVirtualHost *:80
Eu recebo este erro:
Normalmente, apenas um uso de cada endereço de soquete (protocolo/endereço de rede/porta) é permitido.:fazer_meia:não foi possível vincular ao endereço 0.0.0.0:80
Solução
NomeVirtualHost *:80
Eu recebo este erro:
Apenas um uso de cada endereço de soquete (protocolo/endereço de rede/porta) é normalmente permitido.:fazer_meia:não foi possível vincular ao endereço 0.0.0.0:80
Acho que isso pode ser porque você tem outra coisa ouvindo a porta 80.Você tem algum outro servidor (ou por exemplo Skype) em execução?
(Se fosse Skype:desmarque "Ferramentas > Opções > Avançado > Conexão > Usar as portas 80 e 443 como alternativas para conexões de entrada")
Outras dicas
Bem, parece que o problema é a maneira (e a ordem) como você atribui as portas.
Basicamente, *:80 significa "usar a porta 80 para todos os hosts nesta configuração".Quando você faz isso, o Apache tenta vincular esse host a 0.0.0.0:80, o que significa que o host receberá todos os pacotes que chegam à máquina pela porta 80, independentemente de qual host virtual ele deveria ir.Isso é algo que você deve usar apenas uma vez e somente se tiver um host nessa configuração.
Assim, se você tiver a mesma diretiva *:80 em dois hosts no arquivo de configuração, o servidor não carregará porque tentará vincular 0.0.0.0:80 duas vezes, falhando na segunda tentativa.(o que explica o "Apenas um uso de cada endereço de soquete (protocolo/endereço de rede/porta) é normalmente permitido.:fazer_meia:não foi possível vincular ao endereço 0.0.0.0:80" mensagem).