Apache 2 vários hosts virtuais nomeados com um vhost IP

2

Eu tenho uma instância em execução no AWS, com um Apache 2, dois domínios nomeados e um ip.

Consegui configurar o apache com os dois domínios (domain1.com e domain2.com). O docroot do primeiro domínio está apontando para /var/www/html/vh/domain1.com O docroot do segundo domínio está apontando para /var/www/html/vh/domain2.com

Tudo bem.

O problema é que eu quero acessar o / var / www / html usando o IP diretamente no navegador.

Quando tento fazer isso, recebo o site hospedado em domain1.com.

Como posso fazer isso?

Linhas relevantes do httpd.conf:

ServerName 9.9.9.9:80
DocumentRoot "/var/www/html"

NameVirtualHost *:80

<VirtualHost 9.9.9.9:80>
    DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost 9.9.9.9:80>
    DocumentRoot /var/www/html/vh/domain1.com
    ServerName domain1.com
    DirectoryIndex index.php
</VirtualHost>
<VirtualHost 9.9.9.9:80>
    DocumentRoot /var/www/html/vh/domain2.com
    ServerName domain2.com
    DirectoryIndex index.php
</VirtualHost>

Se eu tentar acessar:

http://9.9.9.9

Eu obtenho as páginas em /var/www/html/vh/domain1.com em vez das páginas hospedadas em / var / www / html

O que estou fazendo de errado?

Thx antecipadamente!

    
por smashing 31.10.2013 / 11:05

2 respostas

2

Suas diretivas NameVirtualHost e <VirtualHost> devem corresponder. Isso significa que você deve alterar

NameVirtualHost *:80

para

NameVirtualHost 9.9.9.9:80

ou então altere cada

<VirtualHost 9.9.9.9:80>

para

<VirtualHost *:80>

Além disso, recomendo que o host virtual padrão tenha o nome do host real do servidor como ServerName , em vez do endereço IP. Como será o padrão, ele ainda será o escolhido quando você se conectar usando apenas o endereço IP.

    
por 31.10.2013 / 13:48
1

Você pode verificar como o apache interpreta sua configuração com o comando apache2ctl -S . Ele lista todos os vhosts e seus pedidos como eles são atualmente usados pelo apache. Ao acessar o servidor com o endereço IP, o servidor padrão dessa lista será usado. Você pode ter outras configurações de vhost carregadas que são usadas.

Além disso, o nome do servidor deve ser o nome de domínio totalmente qualificado do servidor e não o endereço IP. Para ver o nome de domínio totalmente qualificado atual, use hostname --fqdn .

    
por 31.10.2013 / 12:47