Reindirizzamento HTTP a HTTPS automaticamente?

22

Quando inseriamo un URL in un browser, utilizza HTTP per impostazione predefinita, ma se il server supporta solo HTTPS, il traffico reindirizza automaticamente a https senza che l'utente se ne accorga?

Ho ragione?

Se sbagliato, correggimi.

    
posta kst 28.07.2017 - 04:09
fonte

3 risposte

51

No, al momento nessun browser principale reindirizza automaticamente a HTTPS.

Il sito web può impostare l'intestazione HSTS per indicare ai browser che dovrebbero reindirizzare automaticamente a HTTPS per richieste future, oppure possono registrarsi nell'elenco di precaricamento HSTS e gli utenti possono installare plug-in del browser per caricare sempre HTTPS basato su una lista bianca o anche per provare sempre HTTPS . Tutti questi sono opt-in, o il sito Web o l'utente deve fare qualcosa per fare il browser a fare questo. Nella sua configurazione predefinita, senza azioni esplicite da parte dell'utente o del sito Web, nessun browser principale utilizza automaticamente HTTPS.

    
risposta data 28.07.2017 - 04:33
fonte
16

No.

Devi reindirizzare esplicitamente il traffico HTTP a HTTPS che comporta la configurazione del tuo server web con una regola che restituisce HTTP 301 codice di stato e un'intestazione di posizione che inizia con https:// .

Quindi ad esempio in Nginx dovresti scrivere qualcosa come:

server {
       listen         80;
       server_name    my.domain.com;
       return         301 https://$server_name$request_uri;
}

Inoltre, è possibile aggiungere un'intestazione HTSS (Http Strict Transport Security) alle risposte delle richieste ricevute sulla porta HTTPS. Ciò assicurerà che il browser invii tutte le richieste successive alla porta HTTPS.

Ancora una volta, in Nginx dovresti fare questo:

server {
       listen         443 ssl;
       server_name    my.domain.com;
       add_header Strict-Transport-Security "max-age=31536000"; 
}
    
risposta data 28.07.2017 - 05:28
fonte
2

Alcuni siti web utilizzano HSTS ( link ) che fondamentalmente fanno ciò che stai dicendo. Se un utente tenta di accedere ad alcuni link casuali, HSTS trasformerà la richiesta in link , tuttavia il sito web deve avere un certificato valido per funzionare correttamente.

    
risposta data 28.07.2017 - 04:18
fonte

Leggi altre domande sui tag