_default_ Sobreposição do VirtualHost na porta 80

10

Eu adicionei 2 hosts virtuais ao meu arquivo conf apache2 como abaixo:

<VirtualHost *:80>
    DocumentRoot /var/www/html/site1
    ServerName www.site1.com
    ServerAlias site1.com
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot /var/www/html/site2
    ServerName www.site2.com
    ServerAlias site2.com
</VirtualHost>

Em seguida, recebi o erro após reiniciar o apache que recebo:

[aviso] sobreposição padrão do VirtualHost na porta 80, a primeira tem precedência

Pesquisei no google e eles disseram para descomentar a linha abaixo, então eu fiz:

NameVirtualHost *:80

Reinicie e agora não recebo o erro, mas ambos os sites vão para o primeiro site.

executando o Centos5. Como corrijo esse problema?

David
fonte

Respostas:

13

Você definitivamente quer que NameVirtualHost não seja comentado. Isso indica ao servidor para servidores diferentes hosts virtuais com base nos nomes Doman usados ​​para alcançá-lo. É por isso que você vê todas as solicitações indo para o primeiro site quando ele é removido.

Christopher Karel
fonte
1
Sim, eu fiz isso e ainda não funciona.
David
Ele não serve adequadamente o site2.com, mesmo com ele? Parece que seu aviso está apenas afirmando que seu primeiro VirtualHost é o site padrão para nomes sem correspondência. O que é essencialmente como os hosts virtuais funcionam.
Christopher Karel
1
Depois descomentada essa linha, eu não receber um aviso e ambos os sites ainda ir para site1
David
É possível que seu navegador tenha apenas armazenado em cache o conteúdo do site1 no domínio do site2? Tente limpar o cache ou fazer uma atualização adequada. (ctrl + F5)
Christopher Karel
1

Eu já corrijo esse problema com o CWP

basta ir para /usr/local/apache/conf/sharedip.conf

verifique isso coloque * no seu servidor ip

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName yourdomainserver.ltd
    DocumentRoot /usr/local/apache/htdocs
    ServerAdmin [email protected]
    <IfModule mod_suphp.c>
        suPHP_UserGroup nobody nobody
    </IfModule>
</VirtualHost>
<Directory "/">
        AllowOverride All
        Allow from all
        Order Deny,Allow
</Directory>

vá para /usr/local/apache/conf.d/vhost.conf e verifique se cada host virtual se parece com isso

# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin [email protected]
DocumentRoot "/home/yourdomain/public_html"
ScriptAlias /cgi-bin/ "/home/yourdomain/public_html/cgi-bin/
# 
# Custom settings are loaded below this line (if any exist)
# Include "/usr/local/apache/conf/userdata/yourdomain/yourdomain.ltd/*.conf    
</VirtualHost>^M
# vhost_end yourdomain.ltd

isso funciona para mim!

luis macayo
fonte