ServerAlias sem www não funcionando em SSL virtualhost

1

Estou movendo um site de um servidor para outro e usando seu certificado SSL atual e ainda válido. A máquina na qual estou trabalhando é um servidor Ubuntu 14.04. Eu configurei meu arquivo host virtual usual, vamos chamá-lo de my_domain.conf. Estes são seus conteúdos:

#omitting the major/minor signs near VirtualHost
VirtualHost *:443
        ServerAdmin [email protected]
        ServerName mydomain.com
        ServerAlias www.mydomain.com
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/mydomain.com.crt
        SSLCertificateKeyFile /etc/ssl/private/mydomain.com.key
        DocumentRoot /var/www/html/mydomain.com/public
        ErrorLog /var/log/apache2/mydomain-error.log
        TransferLog /var/log/apache2/mydomain-access.log
/VirtualHost

Agora, quando digito www.mydomain.com em um navegador, o VirtualHost funciona. Mas quando eu digito mydomain.com, isso não acontece. Tanto o cliente quanto o webdesigner precisam disso, então não posso evitá-lo.
eu tentei

  • Trocando o ServerName e o ServerAlias e usando apenas o ServerName
  • Desativando todos os outros virtuais, incluindo os padrões
  • Adicionando SSLStrictSNIVHostCheck on e off depois de notar essa linha no meu geral (não específico do site) error.log: [ssl:warn] [pid 6558] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

Nada mudou e realmente não consigo entender por que isso está acontecendo

EDIT: Eu esqueci de adicionar, por "não funciona" quero dizer o arquivo de configuração do host virtual é ignorado eo navegador me leva para a raiz do documento padrão apache2

    
por didrocks66 08.05.2016 / 15:15

3 respostas

1

O mesmo aqui. Eu desisti de tentar fazer o ServerAlias no host SSL. Minha solução:

VirtualHost *:443
    ServerAdmin [email protected]
    ServerName mydomain.com
    ...
/VirtualHost
VirtualHost *:443
    ServerAdmin [email protected]
    ServerName www.mydomain.com
    ...//same as above
/VirtualHost

Eu sei que é feio, mas funciona - sem dor de cabeça.

    
por 22.09.2016 / 00:21
0

A mensagem "Hosts virtuais SSL baseados em nome só funcionam para clientes com suporte a indicação de nome de servidor TLS" refere-se à falta de suporte a SNI no Web client (por exemplo, seu navegador). Em outras palavras, essa mensagem geralmente não aponta para um problema com a configuração do servidor, mas é apenas um aviso de que alguns navegadores não poderão acessar o servidor. Para maior clareza, esta é apenas uma mensagem de "informação" e não indica que algo esteja errado.

Notavelmente, muitos navegadores mais antigos não têm suporte a SNI e, como resultado, não podem negociar entre SANs (nomes alternativos de assunto) em um certificado de vários domínios. Para uma lista de navegadores, ou apenas mais informações, você pode fazer uma pesquisa na Web para "suporte a SNI", mas, na realidade, você teria que ter uma razão bastante convincente para desistir do uso de um certificado de vários domínios apenas para ser compatível com um navegador mais antigo.

Provavelmente você precisa atualizar seu LogLevel para obter informações mais detalhadas antes qualquer um pode ajudar você a encontrar o problema.

    
por 09.05.2016 / 05:08
0

Eu tive um problema muito semelhante e descobri usando o nível de log de depuração. Eu não desabilitei a definição do host virtual defall (ssl.conf). Não havia DocumentRoot ou ServerName ou Alias, mas por algum motivo essa configuração estava em conflito com o meu vhost. Então, para resolvê-lo, basta comentar toda a seção do host virtual padrão:

#<VirtualHost _defaulr_:443>
#...
#</VirtualHost>

Copie os detalhes do certificado para vhost ou fora dele (para uso global) e reinicie o apache. Ajudou para mim.

    
por 24.04.2017 / 22:41