Vários vhosts nomeados por IP no Apache2

1

Eu já vi muitas perguntas semelhantes sobre hospedagem vários vhosts, um por IP, mas não conseguiu encontrar um sobre vários vhosts por IP.

Em suma, eu tenho um único servidor Apache2 que precisa hospedar vários certificados SSL. Eu tenho dois IPs separados na caixa. Eu tenho três domínios em IP (a), um com vários subdomínios em IP (b), assim:

IP(a) - SSL(a)
 - https:://domain1
 - domain2
 - domain3

IP(b) - SSL(b)
 - https://sub1.domain4
 - https://sub2.domain4
 - https://sub3.domain4

Como adicionei recentemente IP(b) , meu primeiro passo é fazer a transição de domain4 para esse IP. No arquivo conf vhost para as entradas sub1 , sub2 , sub3.domain , eu mudei <VirtualHost *:80> para <VirtualHost IP(b):80> . Reiniciando o Apache, recebo o seguinte erro:

[warn] VirtualHost 173.230.156.48:80 overlaps with VirtualHost 173.230.156.48:80, the first has precedence, perhaps you need a NameVirtualHost directive

Eu tenho as seguintes entradas NameVirtualHost no meu apache.conf:

NameVirtualHost *:80
NameVirtualHost *:443

Quaisquer indicações sobre a maneira correta de proceder? Obrigado.

ATUALIZAÇÃO:

A resposta de Per Shane e outros , eu mudei o seguinte na minha configuração, mas agora tenho um problema que serve IP (a): 443 conteúdo:

ports.conf

Listen IP(a):80
Listen IP(b):80
<IfModule mod_ssl.c>
    Listen IP(a):443
    Listen IP(b):443
</IfModule>

virtual.conf

NameVirtualHost IP(a):80
NameVirtualHost IP(b):80
NameVirtualHost IP(a):443
NameVirtualHost IP(b):443

Todos os sites não SSL que eu quero veicular no IP (a) são agora:

<VirtualHost IP(a):80>

Todos os sites SSL no IP (a) são agora:

<VirtualHost IP(a):443>

Todos os sites não SSL no IP (b) são agora:

<VirtualHost IP(b):80>

Todos os sites SSL em IP (b) são agora:

<VirtualHost IP(b):443>

Todos os sites no IP (a): 80, IP (b): 80 e IP (b): 443 estão sendo exibidos corretamente. Nada em IP (a): 443 está sendo atendido e, ao iniciar o Apache, recebo o seguinte aviso:

[warn] _default_ VirtualHost overlap on port 443, the first has precedence

Eu alterei meu arquivo default para responder ao IP (a):

<VirtualHost IP(a):80>

E alterei meu arquivo default-ssl para responder ao IP (a) também:

<VirtualHost IP(a):443>

Algo claramente errado com o acima? Tentei alterar as configurações de várias maneiras diferentes, mas o aviso acima parece ser sempre gerado.

    
por Paul Mennega 14.01.2013 / 18:33

2 respostas

3

Suas diretivas NameVirtualHost devem corresponder exatamente às suas definições <VirtualHost> .

Então, se você tiver:

<VirtualHost 192.0.2.1:80>
  ServerName domain1
</VirtualHost>
<VirtualHost 192.0.2.1:80>
  ServerName domain2
</VirtualHost>

... então NameVirtualHost *:80 não se aplica, você precisa usar NameVirtualHost 192.0.2.1:80 .

    
por 14.01.2013 / 18:36
0

Você pode querer verificar estes links:

link como uma explicação

e

link

sobre como configurar.

Espero que isso ajude.

    
por 15.01.2013 / 22:51