Acessar o Apache VirtualHost do localhost

1

Eu tenho uma configuração do DirectAdmin com o Apache em um servidor que está por trás do NAT.

Tudo está funcionando corretamente ao acessar um VirtualHost de fora da máquina (através da Internet e da Intranet), mas estou tendo problemas ao acessar o mesmo VirtualHost a partir do localhost (ou seja, usando curl mywebsite.com dentro do servidor ).

Dispositivos de rede relevantes:

eth0   : IP Address inside the NAT
eth0:0 : IP Address outside the NAT (i.e. public IP Address)
eth1   : LAN IP Address
lo     : Loopback

Abaixo está a configuração do httpd relevante:

Listen 80
NameVirtualHost *:80

DocumentRoot "/var/www/html"

<VirtualHost *:80>
  ServerName mydomain.com
  ...
</VirtualHost>

Ao usar um curinga NameVirtualHost , é de se esperar que uma solicitação com a diretiva Host: mydomain.com definida no cabeçalho da solicitação (que curl faz) seja atendida pela diretiva VirtualHost . Embora, quando eu curl mydomain.com de dentro do servidor, o Apache recue para o DocumentRoot não me permitindo acessar o host VirualHost .

A única maneira de fazer isso foi editar /etc/hosts e definir o IP dentro do NAT para mydomain.com .

Outra informação que pode ser útil:

Eu executei <?php print_r($_SERVER); ?> em uma página de teste de dentro e de fora do servidor para verificar os valores de SERVER_IP e quando eu curl de uma máquina remota recebi o endereço IP dentro do NAT, mas quando eucurl de dentro do servidor eu recebo o endereço IP público.

O domínio resolve o mesmo endereço IP em ambas as extremidades (dentro e fora do servidor).

Cumprimentos.

    
por Tiago 26.02.2014 / 19:50

1 resposta

0

Você pode usar o link para definir um domínio temporário para o seu host virtual usando o endereço IP do seu computador.

Simples e fácil;)

    
por 01.03.2014 / 19:48