web-dev-qa-db-fra.com

Étapes pour implémenter Let's Encrypt avec cPanel

Je suis en train d'implémenter d'adopter un site de http à https, j'utilise le Let's Encrypt dans cPanel, je suis dans un environnement d'hébergement partagé.

Voici comment je l'implémente:

  1. Site en mode maintenance
  2. Émettre le certificat SSL
  3. Ajout de ce code dans .htaccess:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    
  4. Suppression de toutes les sessions dans session folder pour les rediriger dans la page de connexion. Ou supprimez tous les cookies stockés dans la base de données.

  5. Essaye-le

  6. Le mode maintenance est désactivé

Est-ce la bonne chose à faire? Si non, s'il vous plaît dites-moi comment le faire.

Mettre à jour

J'ai testé ce code .htaccess pour suivre les instructions de https://hstspreload.org :

RewriteEngine On
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC]

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_Host} !^www\.
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L,R=301]

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains; preload"
</IfModule>

Ce moi un avertissement moyen:

Avertissement: en-tête HSTS inutile sur HTTP. La page HTTP située à http://example.com envoie un en-tête HSTS. Cela n'a aucun effet sur HTTP et devrait être supprimé.

3
Dumb Question

Je dirige une entreprise d'hébergement Web. Des centaines de clients basculent (ou ne le sont pas s'ils sont paresseux) vers https via des certificats gratuits LetsEncrypt.

Pour être honnête, je pense que vous compliquez trop les choses. Installez le protocole SSL pour le domaine, puis, sans rien changer, essayez d’utiliser https et voyez comment vous allez.

Vous risquez de rencontrer plusieurs avertissements de contenu mixte lorsque vous affichez la console des outils de développement. C’est l’une des étapes les plus importantes, car s’il existe un contenu mixte, c’est-à-dire des fichiers inclus à l’aide de http, vous ne verrez pas de cadenas sécurisé.

Il n'est pas nécessaire de mettre un site en mode maintenance. Même si le certificat est installé, les utilisateurs peuvent toujours utiliser l'historique http pendant les tests.

Ensuite, lorsque vous êtes satisfait du résultat, ajoutez le code à votre fichier .htaccess.

Voici comment vous testez: allez à l'adresse htps: //example.com et voyez s'il y a un cadenas dans la barre d'adresse. Si c'est le cas, cela fonctionne. S'il existe toujours une notification non sécurisée, retournez aux outils de développement pour rechercher les problèmes.

3
Steve

Je ne le ferais pas comme vous le proposez. Ma suggestion vous donne plus de contrôle sur le processus, en générant le moins d'erreurs possible pour vos visiteurs:

1 Je vous suggère lien vers des fichiers externes comme celui-ci : //www.example sans http: ni https: dans l'URI
2 Il n'est pas nécessaire de supprimer les sessions, car celles-ci sont transférées avec vous vers le https (peu probable) ou expirent sur-le-champ. Vos utilisateurs devront se reconnecter s’ils passent à https (vous pouvez leur donner une alerte).

2
Martijn