Como usar o Apache virtualHost com etc / hosts

3

Estou tentando ter

link e link

sendo executado em um servidor da Web de produção, e agora estou fazendo alguns testes básicos na máquina local antes de transferir os dados no servidor da Web de produção.

Se possível eu gostaria de use os hosts virtuais do apache e apenas o / etc / hosts.

Eu uso a diretiva ServerAlias do apache dentro do virtualHost como:

<VirtualHost *:80>
    DocumentRoot /path/to/mysite
    ServerName www.mysite.fr
    ServerAlias *.mysite.com
    <Directory /path/to/mysite>
        Options FollowSymLinks MultiViews
        AllowOverride All  
        Order allow,deny 
        Allow from all
    </Directory>
</VirtualHost>

Então, em / etc / hosts, eu coloco os domínios que quero:

127.0.0.1 www.mysite.com

127.0.0.1 test.mysite.com

Quando eu testo isso em local, funciona! (Eu posso acessar www.mysite.com e test.mysite.com) Quando eu testo no meu servidor remoto, ele simplesmente ignora minhas configurações, e somente o padrão www.mysite.com está disponível.

O que estou perdendo? Ou a minha pergunta deveria ser, é possível ter os dois urls (www e test) acessíveis em um servidor web, usando apenas o host virtual e arquivo / etc / hosts?

    
por ling 10.07.2011 / 19:38

3 respostas

4

Como você está tentando acessar o test.mysite.com?

Para que isso funcione na Internet, você precisa adicionar um registro DNS A para test.mysite.com em qualquer servidor / serviço que hospede seu DNS ou adicionar um registro para o IP público de seu servidor remoto em seu arquivo / etc / hosts.

/ etc / hosts é somente para a máquina local.

Na sua configuração local, em / etc / hosts:

[YOUR REMOTE SERVER'S PUBLIC IP] www.mysite.com test.mysite.com

No entanto, isso só funcionará para você (ou qualquer sistema em que você adicionar manualmente o registro ao arquivo de hosts apropriado) até você adicionar um registro DNS A para o IP público do seu servidor remoto para test.mysite.com.

    
por 10.07.2011 / 22:37
0

Sim, a configuração que você descreveu é possível desde que o seguinte esteja em vigor:

  • Arquivos do host (ou DNS na maioria dos casos) nos sistemas com os navegadores da web
  • Configurações de host virtual correspondentes no servidor da web
por 10.07.2011 / 20:59
0

Isso pode ajudar sua situação.

Se você quiser servir vários domínios com IPs estáticos, precisará de várias interfaces. A menos que você use interfaces virtuais.

< disclaimer: este é apenas um exemplo. Use por sua conta e risco. >

Aberto: /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
     address 192.168.0.2
     network 192.168.0.0
     netmask 255.255.255.0
     #if you don't have a gateway setup, comment "gateway" line
     gateway 192.168.0.1 
     broadcast 192.168.0.255

auto eth0:2
iface eth0:2 inet static
     address 192.168.0.3
     network 192.168.0.0
     netmask 255.255.255.0
     #if you don't have a gateway setup, comment "gateway" line
     gateway 192.168.0.1
     broadcast 192.168.0.255

ENTÃO:

Ir para: /etc/hosts

192.168.0.2 www.mysite.com
192.168.0.3 test.mysite.com

Se você configurar um DNS, poderá usar os mesmos IPs para mapear seu sistema. Eu espero que isso ajude. Contacte-me se não for a informação mais clara. Lembre-se de usar nomes distintos de IP e domínio; NÃO REUTILIZE UM ENDEREÇO IP. NÃO REUTILIZAR UM NOME DE DOMÍNIO (NICKNAME). Este primeiro é o único jogo de acordo com /etc/hosts .

    
por 12.05.2017 / 06:33