Estou tendo problemas com minhas configurações do VirtualHost no meu servidor. Meu servidor está executando o Ubuntu 14.04.5 LTS (GNU / Linux 4.4.0-31-genérico x86_64), com o Apache / 2.4.7 (Ubuntu).
Já li muito sobre o Apache e o SNI de outros tópicos aqui, mas não consegui resolver meu problema específico.
Eu tenho vários VirtualHosts configurados de diferentes domínios, cada um com seus próprios certificados SSL, como o seguinte:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/user/mydomain.com/public_html
ErrorLog /home/user/mydomain.com/logs/error.log
CustomLog /home/user/mydomain.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/user/mydomain.com/public_html
ErrorLog /home/user/mydomain.com/logs/error.log
CustomLog /home/user/mydomain.com/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/mydomain.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/mydomain.com.key
SSLCACertificateFile /etc/apache2/ssl/mydomain.com.root.crt
SSLCertificateChainFile /etc/apache2/ssl/mydomain.com.chain.crt
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName otherdomain.com
ServerAlias www.otherdomain.com
DocumentRoot /home/user/otherdomain.com/public_html
ErrorLog /home/user/otherdomain.com/logs/error.log
CustomLog /home/user/otherdomain.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName otherdomain.com
ServerAlias www.otherdomain.com
DocumentRoot /home/user/otherdomain.com/public_html
ErrorLog /home/user/otherdomain.com/logs/error.log
CustomLog /home/user/otherdomain.com/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/otherdomain.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/otherdomain.com.key
SSLCACertificateFile /etc/apache2/ssl/otherdomain.com.root.crt
SSLCertificateChainFile /etc/apache2/ssl/otherdomain.com.chain.crt
</VirtualHost>
Isso funciona bem na maioria das vezes, para a maioria dos navegadores, mas de vez em quando em dispositivos específicos ou aleatoriamente, quando tento ir para "otherdomain.com", ele tenta pegar o certificado SSL do "mydomain .com ", que fornece um erro de phishing / certificado errado.
Eu li que o SNI pode ser a solução, então adicionei o seguinte à minha configuração do Apache:
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443
</IfModule>
No entanto, parece também que na minha versão do Apache (2.4) esse recurso foi eliminado, o que é confirmado sempre que eu reinicio o Apache:
# service apache2 restart
* Restarting web server apache2
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:17
Também não parece ter corrigido o problema, ainda recebo esse erro. Eu sou capaz de replicar esse problema toda vez usando um BlackBerry antigo.
Com a exceção de ter que obter um endereço IP exclusivo para cada VirtualHost usando SSL, quais são minhas opções para resolver esse problema?
Além disso, meu exemplo mostra apenas dois domínios, mas na verdade eu tenho cinco domínios configurados com seus próprios certificados SSL. Todos pegam o certificado SSL do primeiro domínio quando sou capaz de replicar o problema.
Aprecio muito qualquer ajuda.