Definição de host virtual do Apache 1 ouvindo 2 ips - como?

3

Temos algumas definições complexas de host virtual em nosso arquivo httpd.conf.

O que quero dizer com isso é:

<VirtualHost .....>
....
</VirtualHost>

O que quero dizer com complexo é que eles são cheios de regras de reescrita e tal.

Gostaríamos de ligar este host virtual em dois endereços IP. Atualmente está ligado apenas a um.

É possível ligar um host virtual a 2 endereços IP usando um único VirtualHost?

Isso tornaria as coisas muito mais fáceis de ter uma única se precisarmos fazer mudanças no futuro.

    
por anonymous-one 15.10.2011 / 01:09

5 respostas

1

Uma maneira fácil de lidar com isso é extrair os bits comuns em um arquivo separado (por exemplo, /path/to/foo ) e, em seguida, Include em seu vhost defs:

<Vitrualhost ...>
  ServerName X
  DocumentRoot Y
  Include /path/to/foo
</Virtualhost>

<Vitrualhost ...>
  ServerName Z
  DocumentRoot A
  Include /path/to/foo
</Virtualhost>

Nota: não coloque /path/to/foo em algum lugar que será puxado por um curinga Include em outro lugar.

    
por 15.10.2011 / 01:51
2

Você pode colocar vários especificadores de IP / Porta na definição, conforme descrito em a documentação .

Exemplo:

<VirtualHost 1.2.3.4:80 2.3.4.5:80 1.2.3.4:8080>
DocumentRoot /path/to/wherever
ServerName example.com
# Stuff goes here
</VirtualHost>

Apenas certifique-se de configurar o Apache com definições NameVirtualHost suficientes.

    
por 23.05.2012 / 18:08
1

Claro:

Listen 80

<VirtualHost _default_:80>
    ...
</VirtualHost>

Como alternativa, considere o uso de hosts virtuais baseados em nome.

    
por 15.10.2011 / 01:15
1

Você poderia usar ...

Listen 80

<VirtualHost *:80>
...
</VirtualHost>

.. para ligar a qualquer IP no servidor

    
por 15.10.2011 / 01:40
0

Eu provavelmente iria com os hosts virtuais nomeados, E faria a modificação no DNS para que ambos os IPs tivessem registros com o mesmo nome de host.

    
por 15.10.2011 / 01:22