Tenho um host virtual que redireciona não-www para www via SSL:
<VirtualHost *:443>
ServerName example.com
Redirect / https://www.example.com/
# Do I need to include SSL configuration here?
</VirtualHost >
# Main Site
<VirtualHost *:443>
ServerName www.example.com
Redirect / https://www.example.com/
# Rest of the configurations including SSL
</VirtualHost >
Preciso incluir a configuração SSL e os certificados no primeiro bloco vhost que só faz redirecionamento? Se eu omitir a configuração SSL no primeiro bloco vhost, o redirecionamento e o site ainda funcionam bem, então por que preciso colocar os certificados SSL no primeiro bloco vhost?
Se fizer algo por SSL, precisará de configuração SSL.
Redirecionamentos são respostas HTTP como quaisquer outras. Eles não recebem nenhum tratamento especial – e, claro, o navegador não sabe que está prestes a receber um redirecionamento, então a primeira coisa que ele faz é começar a negociar SSL e somente se isso for bem-sucedido , ele fará uma solicitação HTTP para uma URL em um domínio e será redirecionado para outro.
Suspeito que seu primeiro vhost "funcione" porque você não o está usando e, em vez disso, está fazendo uma solicitação não HTTPS
http://example.com
na porta :80, mas também pode ser que ele esteja herdando a configuração de outro lugar (por exemplo, no nível do servidor).