1. Documentation /
  2. Protocoles SSL et HTTPS

Protocoles SSL et HTTPS

Le protocole SSL permet de créer une connexion sécurisée sur un réseau interne ou entre deux machines ou périphériques connectés à Internet, afin de pouvoir transmettre des données sensibles de manière sécurisée et privée. Un certificat SSL est émis après vérification de l’authenticité d’un site Web et de l’identité de son propriétaire, comme indiqué par le « s » dans https. De nombreuses passerelles de paiement utilisent le protocole SSL. Nous le recommandons vivement. En outre, les visiteurs de votre boutique WooCommerce y voient un signe de fiabilité et s’attendent à voir le cadenas dans la barre d’adresse lors de la navigation, lors du processus d’achat, et lors de la saisie de leurs informations de compte et de paiement.

Que sont les protocoles SSL et HTTPS ?

↑ Back to top
SSL (« Secure Socket Layer », ou protocole de sécurité SSL) est un protocole utilisé sur le Web pour :
  • Chiffrer les données d’un site Web qui sont envoyées d’un navigateur à un serveur, et vice versa, afin qu’elles soient sécurisées.
  • Authentifier un site Web afin que les visiteurs sachent que l’identité du propriétaire du site a été vérifiée.
HTTPS est un protocole HTTP incluant le « S » de SSL. Tout comme « http:// » signifie que « ceci est un site Web », « https:// » signifie que « ceci est un site Web qui utilise le protocole SSL pour crypter les données et authentifier le site » – WP Engine.

Pourquoi il est important d’utiliser le protocole SSL

↑ Back to top
  • Vous devez protéger les informations sensibles que vous acceptez/transmettez, telles que les adresses et les numéros de carte de crédit.
  • Vous devez sécuriser les connexions et les inscriptions sur votre site.
  • Vous devez vous conformer aux exigences de confidentialité et de sécurité.
  • Vous voulez que les utilisateurs fassent confiance à votre site Web.
  • Vous voulez que les clients achètent dans votre boutique de commerce électronique.
De plus, les sites Web qui utilisent le protocole SSL sont apparemment mieux classés dans les moteurs de recherche et bénéficient de temps de chargement plus rapides.

Comment configurer le protocole SSL avec WooCommerce

↑ Back to top
Pour utiliser le protocole SSL sur votre site Web, vous devez obtenir un certificat SSL. Pour cela, vous disposez d’options gratuites et payantes :

Options SSL gratuites – Let’s Encrypt

↑ Back to top
Let’s Encrypt est une autorité de certification qui fournit des certificats SSL gratuits dans le but de privilégier un environnement Internet plus sécurisé et plus respectueux de la vie privée. WordPress et WooCommerce supportent cette initiative. Pour en savoir plus : À propos de Let’s Encrypt et Comment ça marche. Il existe deux façons d’obtenir un certificat SSL gratuit auprès de Let’s Encrypt. Sélectionnez une société d’hébergement qui propose un certificat SSL gratuit Nos partenaires hébergeurs WooCommerce (Bluehost, Pressable et SiteGround) offrent des certificats SSL gratuits pour les utilisateurs de WordPress. Ces certificats peuvent être installés en quelques clics seulement. Autres sociétés d’hébergement : Demandez à votre hébergeur ou aux hébergeurs de votre choix s’ils proposent des certificats SSL gratuits de Let’s Encrypt, puis suivez les instructions. S’ils ne proposent pas l’option Let’s Encrypt, consultez la section suivante : Installation manuelle d’un certificat SSL. Installation manuelle d’un certificat SSL Si votre hébergeur ou l’hébergeur de votre choix ne propose pas d’outil d’installation automatique mais offre la possibilité d’installer un certificat SSL gratuit, vous pouvez tout de même utiliser Let’s Encrypt :
  1. Enregistrez un nom de domaine chez un registraire de domaine, si vous n’en avez pas déjà un. Les certificats SSL gratuits de Let’s Encrypt sont basés sur le nom de domaine. Il est donc impératif d’avoir un nom de domaine.
  2. Choisissez un hébergeur et un forfait d’hébergement, si vous n’en avez pas déjà un.
  3. Accédez à ZeroSSL.com.
  4. Sélectionnez Certificates and tools, puis cliquez sur Start.
  1. Changez la langue en français en cliquant sur FR.
Saisissez le nom de domaine de votre site/boutique, cochez les cases Accepter ZeroSSL TOS et Accepter Let’s Encrypt SA, puis cliquez sur Suivant. Une demande de signature de certificat (CSR) sera générée.
  1. Téléchargez votre CSR.
  1. Cliquez sur Suivant pour générer votre clé privée RSA.
  1. Téléchargez votre clé privée RSA. Une fois que vous avez téléchargé votre CSR et votre clé privée RSA, vous pouvez fermer l’onglet du navigateur. Remarque : Si vous fermez l’onglet avant d’enregistrer ces deux informations, vous devrez redémarrer le processus.
  2. Contactez votre hébergeur pour les étapes suivantes. Chaque société d’hébergement a une procédure différente pour téléverser un certificat SSL gratuit (CSR et clé privée RSA). Voici un exemple de la société d’hébergement InMotion : Let’s Install a Let’s Encrypt SSL.

Options SSL payantes

↑ Back to top
Plusieurs fournisseurs proposent des certificats SSL payants à installer sur un site Web ou sur une boutique. Votre hébergeur peut également proposer un service de certificats SSL, qu’il peut vous aider à installer sur votre boutique. Selon les situations, il existe différents types de certificats, à différents tarifs. Exemple : Pour des options à faible coût, consultez : Où puis-je obtenir un certificat SSL bon marché ?

Après la configuration SSL

↑ Back to top
Une fois que votre certificat est configuré sur votre serveur, vous pouvez accéder à votre boutique via le lien https://votresite.com. Votre navigateur affiche une icône de « cadenas » dans la barre d’adresse pour indiquer que le site est sécurisé. Nouveaux sites Web / Nouvelles boutiques Après l’installation d’un certificat SSL, les URL de WordPress et WooCommerce doivent être mises à jour.
  1. Accédez à Réglages > Général.
  2. Mettez à jour l’Adresse Web de WordPress et l’Adresse Web du site pour inclure « https:// ».
  3. Cliquez sur Enregistrer les modifications.
Sites Web existants / Boutiques existantes Étant donné que votre site/boutique est indexé(e) en « http:// », vous devez faire les redirections vers « https:// » afin que vos visiteurs et vos clients puissent trouver votre site/boutique. Pour cela, utilisez l’extension Really Simple SSL disponible dans WordPress. Astuces :
  • Modifiez les liens internes de votre contenu. Pour cela, utilisez l’extension Search & Replace qui permet de Rechercher et Remplacer des éléments de manière automatique.
  • Mettez à jour vos paramètres de Google Analytics (le cas échéant).
  • Utilisez le site SSL Server Test pour vérifier que le protocole SSL a été implémenté et pour résoudre les éventuels problèmes.
  • Effectuez une vérification SSL pour vérifier que les liens et contenus sont sécurisés.

Paramètre WooCommerce « Sécuriser le paiement »

↑ Back to top
Avant d’utiliser ce paramètre, nous vous recommandons vivement d’exécuter l’intégralité de votre site/boutique en https ; pas seulement la page de validation de commande. Si vous choisissez de ne pas suivre notre recommandation, vous pouvez simplement activer le protocole SSL sur votre page de validation de commande. Le paramètre « Sécuriser le paiement » permet de forcer l’utilisation du protocole https sur certaines pages. Remarque : Ce paramètre n’est pas visible si l’URL de votre site est déjà en https. Pour activer le paramètre « Sécuriser le paiement », accédez à WooCommerce > Réglages > Paiements > Options de paiement pour les versions 3.3 et antérieures de WooCommerce, ou WooCommerce > Réglages > Avancé pour les versions 3.4 et ultérieures de WooCommerce. Pages pour lesquelles le protocole SSL peut être forcé :
  • Pages de Validation de commande.
  • Page Paiement (validation finale).
  • Page Mon compte.

Dépannage des problèmes SSL

↑ Back to top

Pages d’erreur HTTPS

↑ Back to top
Cela peut indiquer un problème de configuration avec votre certificat. Nous vous conseillons de contacter votre hébergeur pour résoudre ce problème.

Avertissements de contenu non sécurisé

↑ Back to top
Les avertissements de contenu non sécurisé concernant des pages sécurisées indiquent que des scripts, images ou feuilles de style sont redirigés via http au lieu de https. La plupart du temps, ce problème est résolu en modifiant les liens en https ou en utilisant des URL relatives (par exemple, /wp-content/fichier au lieu de http://votresite/wp-content/fichier). Vous pouvez également utiliser une extension telle que WordPress HTTPS pour forcer la sécurisation des URL. WooCommerce sécurise les scripts qui sont correctement mis en file d’attente. Pour identifier les liens non sécurisés, utilisez un outil tel que Firebug pour Firefox ou les outils de développement intégrés de Chrome, et consultez la console d’erreur. Les ressources non sécurisées seront répertoriées.

Boucles de redirection

↑ Back to top
WooCommerce utilise la fonction is_ssl() de WordPress pour rediriger les pages non sécurisées. Cette fonction peut provoquer une boucle de redirection lorsque :
  • Une autre extension SSL installée (telle que Easy HTTPS Redirection) empêche de forcer la sécurisation d’une URL. Supprimez cette extension ou désactivez le paramètre « Sécuriser le paiement ».
  • Votre hébergeur utilise un protocole SSL par proxy, ce qui rend les liens https indétectables. Voir : Problèmes liés au protocole SSL par proxy.

Sites Web situés derrière des équilibreurs de charge ou des proxys inverses

↑ Back to top
WooCommerce utilise la fonction is_ssl() de WordPress pour vérifier si votre site Web utilise le protocole SSL. La fonction is_ssl() permet de vérifier si le site utilise le protocole HTTPS ou s’il est sur le port 443. Cependant, cela ne fonctionnera pas pour les sites Web situés derrière des équilibreurs de charge, en particulier les sites Web hébergés chez Network Solutions. Pour plus d’informations : Remarques sur la fonction is_ssl() de WordPress. Les sites Web situés derrière des équilibreurs de charge ou des proxys inverses qui prennent en charge HTTP_X_FORWARDED_PROTO peuvent être corrigés en ajoutant le code suivant au fichier wp-config.php (au-dessus de la fonction « require_once ») :
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {

$_SERVER['HTTPS'] = 'on';
 }
Si vous utilisez CloudFlare, vous devez le configurer en conséquence.