httpd no CentOS resolvendo apenas o primeiro VirtualHost

3

Acabei de instalar um novo servidor de nuvem e, ao configurá-lo, posso acessar a raiz da web apontando meu navegador para o endereço IP do meu servidor, mas os nomes de domínio ainda estão se propagando; não resolve.

Quando eu aponto meu navegador para o endereço IP do meu servidor, ele está realmente resolvendo o primeiro VirtualHost que eu configurei que não deveria ser a pasta raiz. Este VirtualHost deve aparecer quando eu for a ipaddress / path , não apenas ipaddress .

Configuração do servidor:
Anfitrião: Rackspace Cloud Server
SO: CentOS 6
VirtualHosts :

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.wphax.com
    ServerAlias wphax.com *.wphax.com
    DocumentRoot /var/www/wphaxcom
    ErrorLog /var/www/wphaxcom/error.log
    CustomLog /var/www/wphaxcom/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.dnadvanced.com
    ServerAlias dnadvanced.com *.dnadvanced.com
    DocumentRoot /var/www/dnadvancedcom
    ErrorLog /var/www/dnadvancedcom/error.log
    CustomLog /var/www/dnadvancedcom/access.log combined
</VirtualHost>

Alguma idéia do que poderia causar isso, e como eu poderia configurá-lo para que o diretório raiz não seja acessível inserindo o endereço IP, mas os nomes de domínio serão resolvidos corretamente para as pastas especificadas? Obrigado.

    
por Jared 09.05.2012 / 03:54

1 resposta

3

Do artigo Suporte a Host Virtual baseado em nomes na documentação do servidor Apache:

IP-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. [...]

Name-based virtual hosting is usually simpler, since you need only configure your DNS server to map each hostname to the correct IP address and then configure the Apache HTTP Server to recognize the different hostnames. [...]

Ao especificar diretamente um endereço IP, você é essencialmente selecionando o primeiro host virtual listado em seu arquivo de configuração. Como você nunca especificou um endereço IP no arquivo de configuração, esse host está escutando em todos os IPs. Como o Apache determina qual site a ser veiculado é ditado pelas informações recebidas nos cabeçalhos HTTP da solicitação do cliente.

A menos que você possa acessar ambos os hosts virtuais por meio de endereços IP independentes - ou por diferentes números de portas (ou seja, definir o segundo para a porta 81) - você terá que aguardar a propagação das alterações de nome de domínio.

Se você realmente precisar testar o servidor agora, você pode tentar modificar manualmente os cabeçalhos HTTP após cada solicitação (usando algo como Tamper Data addon para Firefox) para que o Apache sirva a página apropriada para o seu navegador.

    
por 09.05.2012 / 06:28