Skip to main content

Asegurar tu sitio de Páginas de GitHub con HTTPS

HTTPS agrega una capa de encriptación que evita que otros se entrometan o manipulen el tráfico en tu sitio. Puedes aplicar HTTPS en tu sitio GitHub Pages para redirigir de forma transparente todas las solicitudes de HTTP a HTTPS.

GitHub Pages se encuentra disponible en los repositorios públicos con GitHub Free y con GitHub Free para las organizaciones, y en los repositorios públicos y privados con GitHub Pro, GitHub Team, GitHub Enterprise Cloud, y GitHub Enterprise Server. Para más información, vea "Productos de GitHub".

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, vea "Acerca de los dominios personalizados y GitHub Pages" y "Solución de problemas de dominios personalizados y GitHub Pages".

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: Los sitios de GitHub Pages están disponibles públicamente en Internet, incluso si el repositorio del sitio es privado. Si tienes datos confidenciales en el repositorio del sitio, tal vez te interese eliminarlos antes de publicarlo. Para más información, vea "Acerca de los repositorios".

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 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

  1. En GitHub, navega al repositorio de tu sitio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. In the "Code and automation" section of the sidebar, click Pages.

  3. En "GitHub Pages," seleccione Aplicar HTTPS. Casilla Aplicar HTTPS

Solución de problemas para el aprovisionamiento de certificados (error de tipo "Certificate not yet created")

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>.

Sugerencia: Si no puede encontrar los recursos en los archivos de código fuente del sitio, intente buscar http en el editor de texto o en GitHub.

Ejemplos de activos referenciados en un archivo HTML

Tipo de recursoHTTPHTTPS
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>