it-swarm-eu.dev

HTTP reindirizza automaticamente a HTTPS?

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 sbaglio, per favore correggimi.

22
kst

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

Il sito Web può impostare intestazione HSTS per indicare ai browser che devono reindirizzare automaticamente a HTTPS per richieste future, oppure possono registrarsi nell'elenco di precaricamento HSTS e gli utenti possono installare plugin del browser caricare sempre HTTPS basato su una lista bianca o anche per provare sempre prima HTTPS . Tutti questi sono opt-in, o il sito Web o l'utente deve fare qualcosa per fare in modo che il browser lo faccia. Nella sua configurazione predefinita, senza un'azione esplicita da parte dell'utente o del sito Web, nessun browser principale userebbe automaticamente HTTPS.

53
Lie Ryan

No.

Devi reindirizzare esplicitamente il traffico HTTP su 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 del tipo:

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

Inoltre, è possibile aggiungere un'intestazione Http Strict Transport Security (HSTS) alle risposte delle richieste che si ricevono sulla porta HTTPS. Ciò garantirà che il browser invii tutte le richieste che seguono alla porta HTTPS.

Ancora una volta, in Nginx faresti questo:

server {
       listen         443 ssl;
       server_name    my.domain.com;
       add_header Strict-Transport-Security "max-age=31536000"; 
}
17
user90696

Alcuni siti Web utilizzano [~ # ~] hsts [~ # ~] ( https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security ) che sostanzialmente fanno quello che stai dicendo. Se un utente tenta di accedere ad un casuale http://example.com , HSTS trasformerà la richiesta in https://example.com , tuttavia il sito Web deve avere un certificato valido per funzionare correttamente.

2
lapinousexy