Como redirecionar de HTTPS para HTTP antes do erro do servidor?

9

Eu costumava operar um site com um certificado SSL, mas parei de usar o certificado SSL. O problema é que a maioria dos links externos para o site usa o prefixo https: //.

Eu tentei o https: // para http: // redirecionar no arquivo .htaccess:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}

Mas parece, como já foi apontado em outro lugar, que o servidor está tentando recuperar o certificado antes de ativar o redirecionamento. Portanto, um erro é mostrado antes que o redirecionamento seja realizado. O erro é um aviso de que o certificado expirou ou, se eu excluir a solicitação de assinatura de certificado, um erro que o SSL recebeu um registro que excedeu o tamanho máximo permitido.

Existe alguma maneira de permitir que os links recebidos sejam redirecionados corretamente?

    
por user981178 16.09.2012 / 22:30

3 respostas

15

A diferença entre http e https é que as solicitações https são enviadas por uma conexão criptografada por SSL. A conexão criptografada por SSL deve ser estabelecida entre o navegador e o servidor antes que o navegador envie a solicitação http.

As solicitações de https são, na verdade, solicitações http enviadas por uma conexão criptografada ssl. Se o servidor rejeitar para estabelecer uma conexão criptografada SSL, o navegador não terá conexão para enviar a solicitação. O navegador e o servidor não terão como falar um com o outro. O navegador não poderá enviar o URL que deseja acessar e o servidor não poderá responder com um redirecionamento para outro URL.

Então isso não é possível. Se você quiser responder a links https, precisará de um certificado SSL.

    
por 16.09.2012 / 22:49
4

Não, se fosse possível redirecionar de https para http sem um certificado real, seria uma grande falha de segurança.

Considere um criminoso ser capaz de redirecionar o servidor seguro para uma conexão insegura sem precisar de um certificado https real para o site, isso permitiria que o criminoso associasse a conexão sem que o usuário soubesse disso.

A única solução que posso ver é obter um certificado barato e, em seguida, fazer um redirecionamento normal do site HTTPS (que o usuário não pode acessar sem um certificado válido) para o site regular desses links externos.

    
por 16.09.2012 / 22:34
-1

Você deve criar no seu .htaccess

ErrorDocument 500 http://anotherserer.com/errorPage.php
    
por 16.09.2012 / 22:33