Como lidar com o site padrão SSL com vários vhosts

1

Então eu tenho vários IP's em um servidor e para cada IP eu tenho um site SSL configurado. Isso está funcionando bem.

No entanto, eu servidor um número de sites não SSL no IP principal. O problema ocorre quando um usuário tenta visitar a versão https de um desses sites que não são https. Eles são apresentados com o certificado para o site principal do SSL e, em seguida, se eles aceitam, eles são encaminhados para o site https.

Qual seria a melhor maneira de lidar com isso? Eu tentei configurar um host ssl padrão do apache para capturar essas outras solicitações, mas parece que não funciona. Talvez alguma lógica de redirecionamento para encaminhar solicitações não para o domínio ssl padrão para as versões não https do site solicitado? Qualquer ideia é apreciada.

    
por b3n 07.01.2013 / 14:16

1 resposta

2

O handshake SSL acontece antes do HTTP, portanto, a lógica de redirecionamento não será invocada antes que o usuário receba um aviso SSL no navegador.

A única maneira de impedir que esse aviso aconteça é ter um certificado que apresente os nomes de servidor usados por esses vhosts, usando, digamos, Subject Alternate Name ou Indicação do nome do servidor . Desta forma, o handshake SSL acontece sem problemas, e você pode redirecionar depois disso. Mas, o que você fizer, precisará de um certificado válido para esses sites não SSL.

A outra maneira é obter outro endereço IP para os sites não-SSL e vhost sobre isso. Basicamente, você precisa separar os sites não SSL dos sites SSL. Dessa forma, um usuário não acessará acidentalmente o vhost SSL e verá o aviso do navegador. Por outro lado, o usuário apenas obterá um tempo limite, pois a porta SSL não está disponível para o site não SSL.

A terceira forma é não se importar com as pessoas que vão para o host SSL se estiverem tentando acessar um site não-SSL. Esta é talvez a opção mais barata e menos dispendiosa, mas pode não estar disponível para você.

    
por 07.01.2013 / 14:28