Les personnes disposant d’autorisations d’administrateur pour un référentiel peuvent appliquer HTTPS pour un GitHub Pages site.
À propos de HTTPS et GitHub Pages
Tous les sites GitHub Pages, y compris ceux qui sont correctement configurés avec un domaine personnalisé, prennent en charge HTTPS ainsi que la mise en œuvre obligatoire de HTTPS. Pour plus d’informations sur les domaines personnalisés, consultez À propos des domaines personnalisés et des pages GitHub et Résolution des problèmes liés aux domaines personnalisés et aux pages GitHub.
GitHub Pages les sites créés après le 15 juin 2016 et utilisant des domaines github.io sont automatiquement servis en HTTPS.
Les sites GitHub 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
GitHub Pages les sites sont accessibles publiquement sur Internet, même si le dépôt du site est privé (si votre plan ou votre organisation l’autorise). 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 GitHub Pages site doit être inférieur à 64 caractères pour qu’un certificat soit correctement créé.
Application du protocole HTTPS pour votre GitHub Pages site
-
Dans GitHub, accédez au dépôt de votre site.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la section « Code, planification et automatisation » de la barre latérale, cliquez sur Pages.
-
Sous «GitHub Pages », sélectionnez Appliquer HTTPS.
Résolution des problèmes de provisionnement de certificats (erreur de type « Certificat pas encore créé »)
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 permettre GitHub d’obtenir automatiquement un certificat. Si la vérification réussit, GitHub met en file d’attente un travail pour demander un certificat TLS à partir de Let’s Encrypt. À la réception d’un certificat valide, GitHub le téléverse automatiquement vers les serveurs qui gèrent la terminaison 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.
Résolution des problèmes liés aux contenus mixtes
Si vous activez HTTPS pour votre site, mais que le code HTML de votre GitHub Pages site fait toujours référence à des images, CSS ou JavaScript via HTTP, votre site sert du contenu mixte. 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 ressources dans les fichiers sources de votre site, essayez de rechercher les fichiers http:// sources de votre site dans votre éditeur de texte ou sur GitHub.
Exemples de ressources référencées dans un fichier HTML
| Type de ressource | HTTP | HTTPS |
|---|---|---|
| CSS | <link rel="stylesheet" href="http:/ | <link rel="stylesheet" href="https:/ |
| JavaScript | <script type="text/ | <script type="text/ |
| Image | <a href="http:/ | <a href="https:/ |
Vérification de la configuration DNS
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 GitHub Pages.
Pour vous assurer qu’un certificat HTTPS est généré correctement, nous vous recommandons les configurations suivantes. Tout enregistrement supplémentaire A, AAAA, ANAME ou ALIAS associé à l’hôte @, ou tout enregistrement CNAME pointant vers votre sous-domaine www ou un autre sous-domaine personnalisé que vous souhaitez utiliser avec GitHub Pages, peut empêcher la génération du certificat HTTPS.
| Scénario | Type d’enregistrement DNS | Nom d’enregistrement DNS | Valeur(s) d’enregistrement DNS |
|---|---|---|---|
| Domaine racine ( example.com) | A | @ | 185.199.108.153185.199.109.153185.199.110.153185.199.111.153 |
| Domaine racine ( example.com) | AAAA | @ | 2606:50c0:8000::1532606:50c0:8001::1532606:50c0:8002::1532606:50c0:8003::153 |
| Domaine racine ( example.com) | |||
ALIAS ou ANAME | @ | ||
USERNAME.github.io ouORGANIZATION.github.io | |||
| Sous-domaine ( www.example.com, | |||
blog.example.com) | CNAME | SUBDOMAIN.example.com. | |
USERNAME.github.io ouORGANIZATION.github.io |