Problema com DNS e subdomínios

4

Eu tenho um Apache rodando em um servidor Ubuntu (14.04). Eu configurei os registros DNS A e VH para ter um domínio e dois subdomínios assim:

  • example.com
  • subdomain1.example.com
  • subdomain2.example.com

Tudo está funcionando bem, mas o problema é que, quando tento acessar meu site pelo ip do servidor, o navegador mostra conteúdo de subdomínio1.exemplo.com em vez de conteúdo de example.com. Isso não está acontecendo se eu digitar example.com, nesse caso tudo vai bem, mas estou preocupado se isso pode ser um problema no futuro ou se eu fiz algo errado ...

Aqui está minha configuração do Apache VH para example.com e subdomain1.example.com (subdomain2 é exatamente como subdomain1):

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

<VirtualHost *:80>
    ServerName subdomain1.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/subdomain1

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

Espero ter explicado bem ... Obrigada!

    
por NeoSennin 04.05.2017 / 10:48

1 resposta

3

De documentos do Apache

When a request is received, the server first maps it to the best matching based on the local IP address and port combination only. Non-wildcards have a higher precedence. If no match based on IP and port occurs at all, the "main" server configuration is used.

If multiple virtual hosts contain the best matching IP address and port, the server selects from these virtual hosts the best match based on the requested hostname. If no matching name-based virtual host is found, then the first listed virtual host that matched the IP address will be used. As a consequence, the first listed virtual host for a given IP address and port combination is the default virtual host for that IP and port combination.

Isso basicamente significa que o primeiro VirtualHost encontrado em httpd.conf será usado como padrão, ou se todos os Hosts Virtuais estiverem em arquivos .conf separados (incluídos) (o que provavelmente é o seu caso), então o primeiro alfabeticamente% o arquivo.conf será usado.

TLDR: tente renomear o arquivo .conf contendo o host virtual example.com para aaa.conf (e reinicie o httpd)

    
por 04.05.2017 / 12:16