Come reindirizzare da HTTPS a HTTP prima dell'errore del server?


10

In passato gestivo un sito Web con un certificato SSL, ma ho smesso di usare il certificato SSL. Il problema è che la maggior parte dei collegamenti esterni al sito Web utilizza il prefisso https: //.

Ho provato a https: // a http: // reindirizzare nel file .htaccess:

RewriteEngine On

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

Ma sembra, come è stato sottolineato altrove, che il server sta tentando di recuperare il certificato prima di attivare il reindirizzamento. Quindi, viene mostrato un errore prima che il reindirizzamento sia mai realizzato. L'errore è un avvertimento che il certificato è scaduto o se elimino la richiesta di firma del certificato, quindi un errore che SSL ha ricevuto un record che ha superato la lunghezza massima consentita.

Esiste un modo per consentire il corretto reindirizzamento dei collegamenti in entrata?


1
SSL viene negoziato prima che avvenga qualsiasi richiesta HTTP, come penso tu l'abbia scoperto. Penso che avrai un problema a far funzionare tutto come vuoi, ma voto per migrare su ServerFault.com nel caso qualcuno abbia una risposta migliore.
Michael,

Sembra che ciò possa essere difficile da raggiungere. È un vero peccato perdere i collegamenti creati su Internet e, peggio ancora, per i visitatori pensare che il sito sia stato compromesso o scomparso.

Risposte:


16

La differenza tra http e https è che le richieste https vengono inviate tramite una connessione crittografata con SSL. La connessione crittografata ssl deve essere stabilita tra il browser e il server prima che il browser invii la richiesta http.

Le richieste Https sono in realtà richieste HTTP che vengono inviate tramite una connessione crittografata ssl. Se il server rifiuta di stabilire una connessione crittografata SSL, il browser non avrà alcuna connessione per inviare la richiesta. Il browser e il server non avranno modo di parlare tra di loro. Il browser non sarà in grado di inviare l'URL a cui desidera accedere e il server non sarà in grado di rispondere con un reindirizzamento a un altro URL.

Quindi questo non è possibile. Se si desidera rispondere ai collegamenti https, è necessario un certificato SSL.


4

No, se fosse possibile reindirizzare da https a http senza un vero certificato, sarebbe un grave difetto di sicurezza.

Considerare un criminale in qualche modo in grado di rendere il server sicuro della banca reindirizzare a una connessione non protetta senza la necessità di un vero certificato https per il sito, consentirebbe al criminale di dirottare la connessione senza che l'utente lo sappia.

L'unica soluzione che posso vedere è ottenere un certificato economico e quindi eseguire un normale reindirizzamento dal sito HTTPS (che l'utente non può raggiungere senza un certificato valido) sul sito normale per quei collegamenti esterni.


Bene, è meglio così. Peccato che non ci sia modo di impostare una sostituzione approvata come proprietario del sito.

-2

Dovresti creare nel tuo .htaccess

ErrorDocument 500 http://anotherserer.com/errorPage.php

Grazie per il suggerimento Anche con questo in .htaccess, non sta usando la pagina che inserisco per l'errore 500 per questo particolare errore. Sembra che, forse, nulla sia stato attivato .htaccess a causa dell'errore iniziale.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.