Lorsque nous entrons une URL dans un navigateur, elle utilise HTTP par défaut, mais si le serveur ne prend en charge que HTTPS, le trafic est-il redirigé automatiquement vers https sans que l'utilisateur s'en rende compte?
Ai-je raison?
En cas d'erreur, veuillez me corriger.
Non, pour le moment aucun navigateur majeur ne redirigerait automatiquement vers HTTPS.
Le site Web peut définir en-tête HSTS pour indiquer aux navigateurs qu'ils doivent rediriger automatiquement vers HTTPS pour les demandes futures, ou ils peuvent s'inscrire dans la liste de préchargement HSTS , et les utilisateurs peuvent installer des plugins de navigateur pour toujours charger HTTPS basé sur une liste blanche ou même pour toujours essayer HTTPS en premier . Tous ces éléments sont opt-in, soit le site Web ou l'utilisateur doit faire quelque chose pour que le navigateur le fasse. Dans sa configuration par défaut, sans action explicite de l'utilisateur ou du site Web, aucun navigateur majeur n'utiliserait automatiquement HTTPS.
Non.
Vous devez explicitement rediriger le trafic HTTP vers HTTPS, ce qui implique de configurer votre serveur Web avec une règle qui renvoie HTTP 301
code d'état et un en-tête d'emplacement commençant par https://
.
Ainsi, par exemple, dans Nginx, vous écririez quelque chose comme:
server {
listen 80;
server_name my.domain.com;
return 301 https://$server_name$request_uri;
}
De plus, vous pouvez ajouter un en-tête Http Strict Transport Security (HSTS) aux réponses des demandes que vous recevez sur le port HTTPS. Cela garantira que le navigateur envoie toutes les demandes suivantes au port HTTPS.
Encore une fois, dans Nginx, vous feriez ceci:
server {
listen 443 ssl;
server_name my.domain.com;
add_header Strict-Transport-Security "max-age=31536000";
}
Certains sites Web utilisent [~ # ~] hsts [~ # ~] ( https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security ) qui font essentiellement ce que vous dites. Si un utilisateur essaie d'accéder à certains --- http://example.com , HSTS transformera la demande en https://example.com , cependant le site Web doit avoir un certificat valide afin de fonctionner correctement.