Skip to main content

Enabling subdomain isolation

You can set up subdomain isolation to securely separate user-supplied content from other portions of your GitHub Enterprise Server appliance.

About subdomain isolation

Subdomain isolation mitigates cross-site scripting and other related vulnerabilities. For more information, see "Cross-site scripting" on Wikipedia. We highly recommend that you enable subdomain isolation on your GitHub Enterprise Server instance.

When subdomain isolation is enabled, GitHub Enterprise Server replaces several paths with subdomains. After enabling subdomain isolation, attempts to access the previous paths for some user-supplied content, such as http(s)://HOSTNAME/raw/, may return 404 errors.

Path without subdomain isolationPath with subdomain isolation
http(s)://HOSTNAME/assets/http(s)://assets.HOSTNAME/
http(s)://HOSTNAME/avatars/http(s)://avatars.HOSTNAME/
http(s)://HOSTNAME/codeload/http(s)://codeload.HOSTNAME/
http(s)://HOSTNAME/gist/http(s)://gist.HOSTNAME/
http(s)://HOSTNAME/media/http(s)://media.HOSTNAME/
http(s)://HOSTNAME/pages/http(s)://pages.HOSTNAME/
http(s)://HOSTNAME/raw/http(s)://raw.HOSTNAME/
http(s)://HOSTNAME/render/http(s)://render.HOSTNAME/
http(s)://HOSTNAME/reply/http(s)://reply.HOSTNAME/
http(s)://HOSTNAME/uploads/http(s)://uploads.HOSTNAME/
https://HOSTNAME/http(s)://docker.HOSTNAME/
https://HOSTNAME/_registry/npm/https://npm.HOSTNAME/
https://HOSTNAME/_registry/rubygems/https://rubygems.HOSTNAME/
https://HOSTNAME/_registry/maven/https://maven.HOSTNAME/
https://HOSTNAME/_registry/nuget/https://nuget.HOSTNAME/
Not supportedhttps://containers.HOSTNAME/

Prerequisites

Advertencia: Si se deshabilita el aislamiento de subdominios, también se recomienda deshabilitar GitHub Pages en la empresa. No habrá forma de aislar el contenido de GitHub Pages que suministre un usuario del resto de los datos de tu empresa. Para más información, vea "Configuración de GitHub Pages para la empresa".

Before you enable subdomain isolation, you must configure your network settings for your new domain.

  • Specify a valid domain name as your hostname, instead of an IP address. For more information, see "Configuring a hostname."

Advertencia: No cambie el nombre de host para GitHub Enterprise Server después de la configuración inicial. Cambiar el nombre del host ocasionará un comportamiento inesperado que puede incluir y llegar hasta la interrupción del servicio.

  • Set up a wildcard Domain Name System (DNS) record or individual DNS records for the subdomains listed above. We recommend creating an A record for *.HOSTNAME that points to your server's IP address so you don't have to create multiple records for each subdomain.
  • Get a wildcard Transport Layer Security (TLS) certificate for *.HOSTNAME with a Subject Alternative Name (SAN) for both HOSTNAME and the wildcard domain *.HOSTNAME. For example, if your hostname is github.octoinc.com, get a certificate with the Common Name value set to *.github.octoinc.com and a SAN value set to both github.octoinc.com and *.github.octoinc.com.
  • Enable TLS on your appliance. For more information, see "Configuring TLS."

Enabling subdomain isolation

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio"

  3. En la barra lateral de la izquierda, haga clic en Consola de administración . Pestaña Consola de administración en la barra lateral de la izquierda

  4. En la barra lateral izquierda, haga clic en Hostname. Pestaña del nombre de host en la barra lateral

  5. Select Subdomain isolation (recommended). Checkbox to enable subdomain isolation

  6. En la barra lateral de la izquierda, haga clic en Guardar configuración.

    Captura de pantalla del botón para guardar los ajustes en la Consola de administración

    Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  7. Espera que se complete la fase de configuración.

    Configurar tu instancia