Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Utilizar el servidor de GitHub Enterprise con un balanceador de carga

Utiliza un balanceador de carga frente a una sola instancia de GitHub Enterprise Server o de un par de instancias en una configuración de disponibilidad alta.

Acerca de los balanceadores de carga

Un diseño de balanceador de carga utiliza un dispositivo de red para dirigir el tráfico de Git y HTTP a los aparatos individuales del GitHub Enterprise Server. Puedes utilizar un balanceador de carga para restringir el tráfico directo al aparato con fines de seguridad o para redirigir el tráfico, de ser necesario, sin cambios en los registros DNS. Es altamente recomendable utilizar un balanceador de carga basado en TPC que admita el protocolo PROXY.

Las búsquedas DNS para el nombre del host de GitHub Enterprise Server se deben resolver con el balanceador de carga. Es recomendable que habilites el aislamiento de subdominio. Si el aislamiento de subdominio está habilitado, un registro comodín adicional (*.HOSTNAME) también se debería resolver con el balanceador de carga. Para obtener más información, consulta "Habilitar el aislamiento de subdominio."

Manejar información de conexión de clientes

Debido a que las conexiones de cliente al GitHub Enterprise Server provienen del balanceador de carga, se puede perder la dirección IP del cliente.

Si tu balanceador de carga lo admite, es altamente recomendable implementar el protocolo PROXY. Cuando no está disponible el soporte de PROXY, también se puede balancear la carga de los puertos HTTP y HTTPS usando el encabezado X-Forwarded-For.

Advertencia de seguridad: Cuando estén habilitados el soporte de PROXY o el redireccionamiento de HTTP, es muy importante que ningún tráfico externo pueda llegar directamente a los aparatos del GitHub Enterprise Server. Si el tráfico externo no se bloquea correctamente, las direcciones IP de origen se pueden falsificar.

Advertencia: cuando se termina una conexión HTTPS en un balanceador de carga, las solicitudes de éste hacia GitHub Enterprise Server necesitarán utilizar HTTPS. Bajar la conexión de categoría a HTTP no es compatible.

Habilitar soporte para protocolo de PROXY en tu instancia de GitHub Enterprise Server

Te recomendamos firmemente habilitar la compatibilidad con el protocolo PROXY, tanto para tu instancia como para el balanceador de carga. Utiliza las instrucciones provistas por tu proveedor para habilitar el protocolo PROXY en tu balanceador de carga. Para obtener más información, consulta la documentación de protocolo PROXY.

Nota: GitHub Enterprise Server es compatible con el protocolo de PROXY V1, el cual no es compatible con los balanceadores de carga de red de AWS. Si utilizas balanceadores de carga de red de AWS con GitHub Enterprise Server, no habilites la compatibilidad con el PROXY.

  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 aún no estás en la página de "Administrador de sitio", en la esquina inferior izquierda, haz clic en Administrador de sitio.

    Captura de pantalla del enlace de "Administrador de sitio"

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

  4. En la barra lateral izquierda, da clic en Privacidad. Pestaña de privacidad en la barra lateral de configuración

  5. Dentro de External load balancers (Balanceadores de carga externos), selecciona Enable support for PROXY protocol (Habilitar soporte para el protocolo de PROXY). Casilla de verificación para habilitar el soporte para el protocolo PROXY

  6. Debajo de la barra lateral izquierda, da clic en Guardar configuración.

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

    Nota: El guardar los ajustes en la Consola de administración restablece los servicios de sistema, lo cual podría dar como resultado un tiempo de inactividad visible.

  7. Espera a que la configuración se ejecute por completo.

    Configurar tu instancia

Mapeos de puertos de protocolo TCP de PROXY

Puerto fuentePuerto de destinoDescripción del servicio
2223Git sobre SSH
8081HTTP
443444HTTPS
80808081Consola de gestión HTTP
84438444Consola de gestión de HTTPS
94189419Git

Habilitar soporte para X-Forwarded-For en tu instancia de GitHub Enterprise Server

Usa el protocolo X-Forwarded-For solo cuando el protocolo PROXY no esté disponible. El encabezado X-Forwarded-For solo funciona con HTTP y HTTPS. La dirección IP informada para las conexiones de Git a través de SSH mostrarán la IP del balanceador de carga.

Advertencia: Si configuras el soporte de X-Forwarded-For en tu instancia de GitHub Enterprise Server y el balanceador de carga, podrías no ser capaz de conectarte a la Consola de administración. Para obtener más información, consulta la explicación del mensaje "Error: "Your session has expired" para las conexiones a la Consola de administración".

  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 aún no estás en la página de "Administrador de sitio", en la esquina inferior izquierda, haz clic en Administrador de sitio.

    Captura de pantalla del enlace de "Administrador de sitio"

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

  4. En la barra lateral izquierda, da clic en Privacidad. Pestaña de privacidad en la barra lateral de configuración

  5. Dentro de External load balancers (Balanceadores de carga externos), selecciona Allow HTTP X-Forwarded-For header (Permitir encabezados HTTP X-Forwarded-For). Casilla de verificación para permitir el encabezado de HTTP X-Forwarded-For

  6. Debajo de la barra lateral izquierda, da clic en Guardar configuración.

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

    Nota: El guardar los ajustes en la Consola de administración restablece los servicios de sistema, lo cual podría dar como resultado un tiempo de inactividad visible.

  7. Espera a que la configuración se ejecute por completo.

    Configurar tu instancia

Mapeos de puertos de protocolo TCP para usar sin soporte de PROXY

Puerto fuentePuerto de destinoDescripción del servicio
2222Git sobre SSH
2525SMTP
8080HTTP
443443HTTPS
80808080Consola de gestión HTTP
84438443Consola de gestión de HTTPS

Configurar la revisión de estado

Las comprobaciones de estado permiten que un balanceador de carga deje de enviar tráfico a un nodo que no responde si una comprobación preconfigurada falla en ese nodo. Si la instancia está desconectada por mantenimiento o tiene un fallo inesperado, el balanceador de carga puede mostrar una página de estado. En una configuración de alta disponibilidad (HA), un balanceador de carga puede usarse como parte de una estrategia de conmutación por error. Sin embargo, no está admitida la conmutación por error automática de los pares de HA. Debes promover la instancia de réplica manualmente antes de que pueda comenzar a servir solicitudes. Para obtener más información, consulta "Configurar GitHub Enterprise Server para alta disponibilidad."

Configura el balanceador de carga para verificar una de estas URL:

  • https://HOSTNAME/status si HTTPS está habilitado (por defecto)
  • http://HOSTNAME/status si HTTPS está inhabilitado

La verificación arrojará el código de estado 200 (OK) si el nodo es correcto y está disponible para responder a las solicitudes del usuario final.

Nota: cuando el aplicativo se encuentre en modo de mantenimiento, la URL https://HOSTNAME/status devolverá un código de estado 503 (Servicio no disponible). Para obtener más información, consulta "Habilitar y programar el modo mantenimiento."

Solucionar problemas de conectividad mediante un balanceador de carga

Si no puedes conectar los servicios en tu instancia de GitHub Enterprise Server mediante un balanceador de carga, peudes revisar la siguiente información para solucionar el problema.

Nota: Prueba siempre los cambios a tu infraestructura de red y configuraciones de instancia en un ambiente de pruebas. Para obtener más información, consulta "Configurar una instancia de preparación."

Error: "Your session has expired" para las conexiones a la Consola de administración

Si habilitas la compatibilidad con el encabezado X-Forwarded-For en tu instancia y balanceador de carga, es posible que no puedas acceder a la Consola de administración de tu instancia. Para obtener más información sobre la Consola de administración y los puertos que se requieren par alas ocnexiones, consulta las secciones "Acceder a la consola de adminsitración" y "Puertos de red".

Si tu instancia de GitHub Enterprise Server indica que tu sesión venció cuando te conectaste a la Consola de administración mediante un balanceador de carga, intenta una de las siguientes configuraciones en este balanceador.

Para obtener más información, refiérete a la documentación para tu balanceador de carga.