Los usuarios con permisos de administrador para un repositorio pueden aplicar HTTPS para un GitHub Pages sitio.
Acerca de HTTPS y GitHub Pages
Todos los GitHub Pages sitios, incluidos aquellos que están correctamente configurados con un dominio personalizado, admiten HTTPS y la aplicación obligatoria de HTTPS. Para más información sobre los dominios personalizados, consulta Acerca de dominios personalizados y páginas de GitHub y Solución de problemas de dominios personalizados y páginas de GitHub.
GitHub Pages los sitios creados después del 15 de junio de 2016 y que usan dominios github.io se sirven automáticamente mediante HTTPS.
Los sitios GitHub Pages no se deben usar para realizar transacciones que impliquen el envío de información confidencial como contraseñas o números de tarjeta de crédito.
Advertencia
a menos que su empresa use Enterprise Managed Users, GitHub Pages los sitios están disponibles públicamente en Internet de forma predeterminada, incluso si el repositorio del sitio es privado o interno. Puedes publicar un sitio de forma privada si administras el control de acceso del sitio. En caso contrario, si tienes datos confidenciales en el repositorio del sitio, tal vez te interese eliminarlos antes de publicarlo. Para más información, consulta Acerca de los repositorios y Cambiar la visibilidad de tu sitio de GitHub Pages.
Nota:
En RFC3280 se indica que la longitud máxima del nombre común debe ser de 64 caracteres. Por lo tanto, todo el nombre de dominio del GitHub Pages sitio debe tener menos de 64 caracteres para que se cree correctamente un certificado.
Forzar HTTPS para tu sitio GitHub Pages
-
En GitHub, navega al repositorio de tu sitio.
-
Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

-
En la sección "Código, planeación y automatización" de la barra lateral, haga clic en Páginas.
-
En "GitHub Pages", seleccione Aplicar HTTPS.
Solución de problemas para el aprovisionamiento de certificados (error de tipo "Certificado no creado aún")
Cuando configuras o cambios tu dominio personalizado en los ajustes de las Páginas, comenzará una verificación automática de DNS. Esta comprobación determina si la configuración de DNS está configurada para permitir GitHub obtener un certificado automáticamente. Si la comprobación se realiza correctamente, GitHub pone en cola un trabajo para solicitar un certificado TLS de Let's Encrypt. Al recibir un certificado válido, GitHub lo carga automáticamente en los servidores que controlan la terminación TLS para Pages. Cuando este proceso se complete con éxito, se mostrará una marca de verificación al costado de tu nombre de dominio personalizado.
El proceso podría tomar algo de tiempo. Si el proceso no se ha completado varios minutos después de hacer clic en Guardar, intente hacer clic en Quitar junto al nombre de dominio personalizado. Vuelva a escribir el nombre de dominio y haga clic en Guardar de nuevo. Esto cancelará y volverá a iniciar el proceso de aprovisionamiento.
Resolver problemas con contenido mixto
Si habilitas HTTPS para tu sitio GitHub Pages, pero el HTML de tu sitio sigue haciendo referencia a imágenes, CSS o JavaScript mediante HTTP, entonces tu sitio está sirviendo contenido mixto. Ofrecer contenido mixto puede hacer que tu sitio sea menos seguro y generar problemas al cargar activos.
Para eliminar el contenido mixto del sitio, asegúrese de que todos los recursos se ofrezcan mediante HTTPS; para ello, cambie http:// por https:// en el código HTML del sitio.
Normalmente, los activos se encuentran en las siguientes ubicaciones:
- Si en el sitio se usa Jekyll, es probable que los archivos HTML se encuentren en la carpeta
_layouts. - CSS se encuentra normalmente en la sección
<head>del archivo HTML. - JavaScript normalmente se encuentra en la sección
<head>o justo antes de la etiqueta</body>de cierre. - Las imágenes normalmente se encuentran en la sección
<body>.
Sugerencia
Si no puedes encontrar tus recursos en los archivos de origen de tu sitio, intenta buscar http:// en los archivos de origen de tu sitio con tu editor de texto o en GitHub.
Ejemplos de activos referenciados en un archivo HTML
| Tipo de recurso | HTTP | HTTPS |
|---|---|---|
| CSS | <link rel="stylesheet" href="http:/ | <link rel="stylesheet" href="https:/ |
| JavaScript | <script type="text/ | <script type="text/ |
| Imagen | <a href="http:/ | <a href="https:/ |
Verificación de la configuración de DNS
En algunos casos, no se podrá generar un certificado HTTPS debido a la configuración dns del dominio personalizado. Esto puede deberse a registros DNS adicionales o registros que no apuntan a las direcciones IP de GitHub Pages.
Para asegurarse de que un certificado HTTPS se genera correctamente, se recomiendan las siguientes configuraciones. Cualquier registro adicional de tipo A, AAAA, ALIAS o ANAME con el host @, o registros CNAME que apunten a su subdominio www o a cualquier otro subdominio personalizado que desee usar con GitHub Pages, puede impedir que se genere el certificado HTTPS.
| Escenario | Tipo de registros DNS | Nombre del registro DNS | Valores del registro DNS |
|---|---|---|---|
| Dominio de Apex ( example.com) | A | @ | 185.199.108.153185.199.109.153185.199.110.153185.199.111.153 |
| Dominio de Apex ( example.com) | AAAA | @ | 2606:50c0:8000::1532606:50c0:8001::1532606:50c0:8002::1532606:50c0:8003::153 |
| Dominio de Apex ( example.com) | |||
ALIAS o ANAME | @ | ||
USERNAME.github.io oORGANIZATION.github.io | |||
| Subdominio ( www.example.com, | |||
blog.example.com) | CNAME | SUBDOMAIN.example.com. | |
USERNAME.github.io oORGANIZATION.github.io |