Skip to main content

Sécurisation de votre site Pages avec HTTPS

Qui peut utiliser cette fonctionnalité ?

Pages est disponible dans les référentiels publics avec Free et Free pour les organisations, et dans les référentiels publics et privés avec Pro, Team, Enterprise Cloud et Enterprise Server. Pour plus d’informations, consultez Plans de .

Pages utilise désormais Actions pour exécuter la version de Jekyll. Lorsque vous utilisez une branche comme source de votre version, Actions doit être activé dans votre référentiel si vous souhaitez utiliser le flux de travail Jekyll prédéfini. Comme alternative, si Actions n’est pas disponible ou désactivé, l’ajout d’un fichier .nojekyll à la racine de votre branche source contournera le processus de version de Jekyll et déploiera le contenu directement. Pour plus d'informations sur l'activation des Actions, consultez Gestion des paramètres de Actions pour un dépôt.

Les personnes disposant d’autorisations d’administrateur sur un dépôt peuvent appliquer HTTPS pour un site Pages.

Tous les sites Pages, y compris les sites correctement configurés avec un domaine personnalisé, prennent en charge HTTPS et l’application de HTTPS. Pour plus d’informations sur les domaines personnalisés, consultez À propos des domaines personnalisés et des pages et Résolution des problèmes liés aux domaines personnalisés et aux pages Pages.

Les sites Pages ne devraient pas être utilisés pour des transactions sensibles telles que l’envoi de mots de passe ou de numéros de carte de crédit.

Avertissement

Les sites > Pages sont accessibles au public sur Internet, même si le référentiel du site est privé (si votre plan ou votre organisation le permet). Si vous avez des données sensibles dans le dépôt de votre site, vous pouvez les supprimer avant publication. Pour plus d’informations, consultez « À propos des dépôts ».

Remarque

RFC3280 indique que la longueur maximale du nom commun doit être de 64 caractères. Par conséquent, le nom de domaine entier de votre site Pages doit être inférieur à 64 caractères pour qu’un certificat soit correctement créé.

  1. Dans , accédez au dépôt de votre site.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Pages.

  4. Sous «  Pages », sélectionnez Appliquer HTTPS.

Lorsque vous définissez ou modifiez votre domaine personnalisé dans les paramètres Pages, une vérification DNS automatique commence. Cette vérification détermine si vos paramètres DNS sont configurés pour autoriser à obtenir automatiquement un certificat. Si la vérification réussit, met en file d’attente un travail pour demander un certificat TLS à partir de Let's Encrypt. Lors de la réception d’un certificat valide, le charge automatiquement sur les serveurs qui gèrent l’arrêt TLS pour Pages. Une fois ce processus terminé, une coche s’affiche à côté de votre nom de domaine personnalisé.

Le processus peut prendre du temps. Si le processus n’est pas terminé plusieurs minutes après avoir cliqué sur Enregistrer, essayez de cliquer sur Supprimer en regard de votre nom de domaine personnalisé. Retapez le nom de domaine, puis cliquez à nouveau sur Enregistrer. Cela annule et redémarre le processus de provisionnement.

Si vous activez HTTPS pour votre site Pages, mais que le code HTML de votre site référence toujours des images, CSS ou JavaScript sur HTTP, votre site gère des contenus mixtes. La prise en charge de contenus mixtes peut rendre votre site moins sécurisé et causer des problèmes de chargement des ressources.

Pour supprimer les contenus mixtes de votre site, vérifiez que toutes vos ressources sont gérées sur HTTPS en remplaçant http:// par https:// dans le code HTML de votre site.

Les ressources se trouvent généralement aux emplacements suivants :

  • Si votre site utilise Jekyll, vos fichiers HTML se trouvent probablement dans le dossier _layouts.
  • CSS se trouve généralement dans la section <head> de votre fichier HTML.
  • JavaScript se trouve généralement dans la section <head> ou juste avant la balise de fermeture </body>.
  • Les images se trouvent souvent dans la section <body>.

Conseil

Si vous ne trouvez pas vos actifs dans les fichiers source de votre site, essayez de rechercher les fichiers source de votre site dans votre éditeur de texte ou sur http .

Type de ressourceHTTPHTTPS
CSS<link rel="stylesheet" href="http://example.com/css/main.css"><link rel="stylesheet" href="https://example.com/css/main.css">
JavaScript<script type="text/javascript" src="http://example.com/js/main.js"></script><script type="text/javascript" src="https://example.com/js/main.js"></script>
Image<a href="http://www.somesite.com"><img src="http://www.example.com/logo.jpg" alt="Logo"></a><a href="https://www.somesite.com"><img src="https://www.example.com/logo.jpg" alt="Logo"></a>

Dans certains cas, un certificat HTTPS ne peut pas être généré en raison de la configuration DNS de votre domaine personnalisé. Cela peut être dû à des enregistrements DNS supplémentaires ou à des enregistrements qui ne pointent pas vers les adresses IP pour Pages.

Pour vous assurer qu’un certificat HTTPS est généré correctement, nous vous recommandons les configurations suivantes. Les enregistrements A, AAAA, ALIAS et ANAME supplémentaires avec l’hôte @, ou les enregistrements CNAME pointant vers votre sous-domaine www ou tout autre sous-domaine personnalisé que vous souhaitez utiliser avec Pages, peuvent empêcher la génération du certificat HTTPS.

ScénarioType d’enregistrement DNSNom d’enregistrement DNSValeur(s) d’enregistrement DNS
Domaine apex
(example.com)
A@185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Domaine apex
(example.com)
AAAA@2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
Domaine apex
(example.com)
ALIAS ou ANAME@USERNAME..io ou
ORGANIZATION..io
Sous-domaine
(www.example.com,
blog.example.com)
CNAMESUBDOMAIN.example.com.USERNAME..io ou
ORGANIZATION..io