VirtualHost não está direcionando corretamente com base no nome de domínio

1

Recentemente, mudamos de hospedagem baseada em nome para IPs individuais para uma implementação SSL. Assim, cada site agora tem seu próprio IP. Enquanto www.domain1.com e www.domain2.com estão sendo direcionados para os diretórios corretos no servidor, subdomínios como dev.domain1.com e dev.domain2.com não são. Os subdomínios também possuem seus próprios IPs. Aqui está a estrutura de um dos arquivos .conf do subdomínio:

<VirtualHost 1.2.3.4:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/domain1-dev
    ServerName dev.domain1.com
    ServerAlias dev.domain2.com
    ErrorLog logs/dev.domain1.com-error.log
    CustomLog logs/dev.domain1.com-access.log common

    <Directory /var/www/domain1-dev>
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>

ServerName está atualmente comentado e UseCanonicalName está definido para estar desativado no arquivo httpd.conf principal. DocumentRoot é definido como o caminho do domínio1 neste arquivo httpd.conf, assim como a diretiva. NameVirtualHost está comentado como estamos agora em hospedagem baseada em IP.

Alguma ideia do que poderia estar errado? :-( É quase como se arquivos .conf de subdomínio não estivessem sendo lidos, ou então as configurações do domínio principal estão sendo usadas. Na verdade, qualquer subdomínio que eu digito está mostrando o site do domínio principal, mesmo que não esteja definido sob a. arquivo conf.

Muito obrigado.

EDITAR

Aqui está o que eu recebo quando executando / usr / sbin / httpd -S:

# /usr/sbin/httpd -S
httpd: apr_sockaddr_info_get() failed for the.servername.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
VirtualHost configuration:
1.2.3.5:80        www.domain2.com (/etc/httpd/conf.d/domain2.conf:10)
1.2.3.5:443       www.domain2.com (/etc/httpd/conf.d/ssl.conf:87)
1.2.3.3:80        www.domain1.com (/etc/httpd/conf.d/domain1.conf:1)
1.2.3.3:443       www.domain1.com (/etc/httpd/conf.d/ssl.conf:45)
1.2.3.6:80        dev.domain1.com (/etc/httpd/conf.d/domain1-dev.conf:1)
Syntax OK

EDITAR

Veja a sintaxe de cada domínio:

<VirtualHost 1.2.3.3:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ServerName www.domain1.com
    ServerAlias domain1.com
    ErrorLog logs/www.domain1.com-error.log
    CustomLog logs/www..domain1.com-access.log common
</VirtualHost>
    
por MattB 02.02.2011 / 18:30

3 respostas

1

Eu não vejo nenhum problema com a configuração do VirtualHost aqui, mas é bem possível que, mesmo com o apache, escolha o errado, só para dar algumas dicas para ajudar a corrigir seu problema

  • o apache sempre lerá os VirtualHosts na ordem
  • Escolherá qual deles acomoda melhor as suas necessidades com base nisso
  • Se você tiver qualquer ServerAlias * .domain atribuído a seu domínio depois que ele estiver inativo, sempre coloque os aliases glob no final

Espero que isso ajude você um pouco!

    
por 02.02.2011 / 18:41
1

Rodando

$PATH_TO_APACHE_DIR/bin/httpd -t -D DUMP_VHOSTS
or 
$PATH_TO_APACHE_DIR/bin/httpd -S

para ver quais VirtualHosts são reconhecidos e em quais arquivos podem ajudar. Execute "httpd -h" para ver uma lista de outras opções para mostrar as configurações.

    
por 02.02.2011 / 18:45
0

Para hosts baseados em nome de trabalho em mais de um endereço IP, use

NameVirtualHost IP:80

na sua saída httpd -S no "NameVirtualHosts".

    
por 02.02.2011 / 21:58