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.