Se você for usar hosts virtuais nomeados, será necessário atribuir algum nome ao servidor. No seu exemplo, o host será endereçado pelo nome domain
(da diretiva ServerName domain
). Você pode tentar entrar em contato com seu servidor diretamente pelo endereço IP fazendo algo como http://123.45.67.89/
, mas isso não fará com que o Apache acione o host virtual nomeado. Para fazer isso, você precisará adicionar algo assim ao seu arquivo /etc/hosts
no cliente:
123.45.67.89 domain
Em seguida, você poderá usar http://domain/
no seu navegador. Isso configura o mapeamento entre o nome e o endereço IP localmente, sem ter que mexer com o DNS.
A maneira como isso funciona é quando o navegador envia a solicitação HTTP para o servidor, ele inclui qualquer texto usado após o //
na URL em um cabeçalho Host:
. O Apache usa esse texto no cabeçalho Host:
e corresponde a ele com os valores ServerName
em cada host virtual nomeado. Quando encontra uma correspondência, ela usa isso como o servidor para processar o restante da solicitação. O Apache não precisa procurar o mapeamento entre o nome do host e o endereço IP, e é por isso que isso funciona se você apenas alterar a configuração da máquina cliente.