Las personas con permisos de administración para un repositorio pueden aplicar HTTPS para un sitio de GitHub Pages.
Acerca de HTTPS y de las GitHub Pages
Todos los sitios GitHub Pages, incluidos los sitios que están correctamente configurados con un dominio personalizado, admiten HTTPS y la aplicación de HTTPS. Para más información sobre los dominios personalizados, consulta "Acerca de los dominios personalizados y las Páginas de GitHub" y "Solucionar problemas de dominios personalizados y Páginas de GitHub".
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.
Warning
Los sitios de GitHub Pages están disponibles públicamente en Internet, incluso si el repositorio del sitio es privado (si tu plan u organización lo permite). Si tienes datos confidenciales en el repositorio del sitio, tal vez te interese eliminarlos antes de publicarlo. Para obtener más información, vea «Acerca de los repositorios».
Note
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 de tu sitio de GitHub Pages debe ser menor a 64 caracteres de longitud para que se cree un certificado exitosamente.
Aplicar HTTPS en tu sitio GitHub Pages
-
En GitHub, navega al repositorio de tu sitio.
-
En el nombre del repositorio, haz clic en Configuración. 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 y automatización" de la barra lateral, haz 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 verificación determina si tus ajustes de DNS se configuran para permitir que GitHub obtenga un certificado automáticamente. Si la comprobación es correcta, GitHub pondrá en cola un trabajo para solicitar un certificado TLS desde Let's Encrypt. Cuando recibas un certificado válido, GitHub lo carga automáticamente a los servidores que manejan la terminación de TLS para las Páginas. 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 habilita HTTPS para el sitio de GitHub Pages, pero en el código HTML del sitio todavía se hace referencia a imágenes, CSS o JavaScript mediante HTTP, significa que el sitio ofrece 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>
.
Tip
Si no puedes encontrar los recursos en los archivos de código fuente del sitio, intenta buscar en los archivos de código fuente del sitio http
en el 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://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> |
Imagen | <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> |
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 garantizar que un certificado HTTPS se genere correctamente, se recomiendan las siguientes configuraciones. Cualquier registro adicional A
, AAAA
, ALIAS
o ANAME
con el host @
o registros CNAME
que apunten al subdominio de www
u otro subdominio personalizado que quieras usar con GitHub Pages pueden impedir que el certificado HTTPS se genere.
Escenario | Tipo de registros DNS | Nombre del registro DNS | Valores del registro DNS |
---|---|---|---|
Dominio de Apex ( example.com ) | A | @ | 185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153 |
Dominio de Apex ( example.com ) | AAAA | @ | 2606:50c0:8000::153 2606:50c0:8001::153 2606:50c0:8002::153 2606: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 |