/ etc / hosts entrada para servidor IP único servindo vários domínios

1

Executando o Ubuntu 10.04

Meu servidor atende 3 domínios diferentes usando hosts virtuais nomeados no Apache2. Atualmente estou usando diferentes Servidores Virtuais Nomeados para redirecionar 301 www para o equivalente não-www. Está funcionando, mas não entendi as entradas corretas para o meu arquivo / etc / hosts e acho que isso está causando problemas para eu tentar configurar o verniz.

Eu entendo que preciso da linha localhost

127.0.0.1       localhost localhost.localdomain

Devo também listar cada domínio aqui? como em

127.0.0.1       localhost localhost.localdomain example1.com example2.com example3.com

E a entrada para o IP do servidor? Preciso da seguinte linha?

< IP.Of.Server >      example1.com example2.com example3.com

Além disso, devo listar www.example.com AND example.com em cada linha, então eles entram no Apache e podem lidar com o redirecionamento 301?

    
por Dan Grec 11.08.2011 / 21:59

3 respostas

4

Suponho que isso seja para testes, caso contrário você estaria configurando registros DNS apropriados, não seu arquivo hosts .

O que você deseja é para cada nome com o qual deseja chamar seu servidor da web, para resolver o endereço IP do seu servidor.

Se você está testando a partir do próprio servidor, então você pode fazer tudo apontar para 127.0.0.1, mas é claro que também fazer com que aponte para o endereço IP real do seu servidor funcionaria.

Se você estiver testando de outra máquina, é claro que deseja que cada nome seja resolvido para o endereço IP real do servidor.

A sintaxe é direta:

IP.of.server        www.domain.name domain.name
IP.of.server        www.otherdomain.name otherdomain.name
IP.of.server        www.anotherdomain.name anotherdomain.name
IP.of.server        www.yetanotherdomain.name yetanotherdomain.name

... e assim por diante.

Atualização:

Claro, o que ErikA diz está completamente certo. Não é necessário modificar o arquivo hosts não para que o servidor funcione; só é útil se / quando você precisar testá-lo sem ter registros de DNS apropriados, ou se você quiser substituí-los para se conectar f.e. para um servidor de teste em vez de um de produção.

    
por 11.08.2011 / 22:06
2

A única razão pela qual você deve precisar usar o arquivo hosts é se você não tiver um ambiente DNS em funcionamento ou se precisar substituir temporariamente algum nome DNS para fins de teste.

A modificação do arquivo hosts não é necessária para usar Servidores Virtuais de Nomes.

    
por 11.08.2011 / 22:02
1

A entrada de IP deve ser o que o Apache estiver escutando. Portanto, se você tiver <VirtualHost 1.2.3.4:80> , sua entrada de hosts deve começar com 1.2.3.4 .

Se você está ouvindo em todas as suas interfaces, então você tem sorte! Você escolhe um! E 127.0.0.1 funcionará bem.

Quanto à parte à direita, ela deve corresponder ao que você digita na barra de endereço. Então, se você quiser digitar www.example.com na sua barra de endereços e algo acontecer, então você precisará desse nome em seu arquivo de hosts informando ao seu computador qual IP significa. O Apache só pode manipular o redirecionamento se o tráfego chegar lá para começar; daí a entrada do arquivo hosts.

E tenho certeza de que não preciso dizer que isso é apropriado apenas para uma configuração de desenvolvimento. Os mapeamentos de endereço IP do host devem ser feitos por um servidor DNS, não por um arquivo estático.

    
por 11.08.2011 / 22:08