
Temos um servidor Ubuntu 10.04 rodando Apache 2.2.14 com 4 hosts virtuais baseados em IP. Temos 2 endereços IP e um certificado SSL para cada endereço IP. ex:
<VirtualHost 1.1.1.1:80>
<VirtualHost 1.1.1.1:443> -> SSL 1
<VirtualHost 2.2.2.2:80>
<VirtualHost 2.2.2.2:4443> -> SSL 2
Não importa o que façamos, por algum motivo, o Apache sempre encontrará o primeiro host virtual incluído, mas não o segundo, ao atender solicitações https. Isso resulta no Apache servindo o certificado SSL do primeiro vhost incluído para AMBOS os endereços IP. Um resultado muito indesejável.
Todas as configurações de endereço IP estão corretas. Running apache2ctl -S
diz que todas as configurações estão corretas.
Não usamos nenhum host virtual baseado em nome.
Não importa qual :443 vhost é incluído primeiro, o apache servirá apenas o certificado do primeiro vhost incluído.
É nosso entendimento que o apache usará como padrão o primeiro vhost que encontrar como padrão se não encontrar um host virtual para o endereço IP:porta.
Por que isso estaria acontecendo?
Responder1
Parece que o Apache2 requer a ServerName
diretiva para todos <VirtualHost>
os s. Nossos dois vhosts SSL acabaram tendo o mesmo ServerName
e um deles acabaria sendo o padrão para ambos os endereços IP.