Utilizar el servidor de GitHub Enterprise con un balanceador de carga
Utiliza un balanceador de carga frente a un aparato único del Servidor de GitHub Enterprise o un par de aparatos en una configuración de alta disponibilidad.
A load balancer design uses a network device to direct Git and HTTP traffic to individual Servidor de GitHub Enterprise appliances. You can use a load balancer to restrict direct traffic to the appliance for security purposes or to redirect traffic if needed without DNS record changes. We strongly recommend using a TCP-based load balancer that supports the PROXY protocol.
DNS lookups for the Servidor de GitHub Enterprise hostname should resolve to the load balancer. We recommend that you enable subdomain isolation. If subdomain isolation is enabled, an additional wildcard record (*.HOSTNAME
) should also resolve to the load balancer. Para obtener más información, consulta "Habilitar el aislamiento de subdominio."
En esta guía
Manejar información de conexión de clientes
Debido a que las conexiones de cliente al Servidor de GitHub Enterprise provienen del balanceador de carga, se puede perder la dirección IP del cliente.
If your load balancer can support it, we strongly recommend implementing the PROXY protocol. When no PROXY support is available, it is also possible to load balance the HTTP and HTTPS ports using the X-Forwarded-For
header.
Security Warning: When either PROXY support or HTTP forwarding is enabled, it is critical that no external traffic can directly reach the Servidor de GitHub Enterprise appliances. If external traffic is not properly blocked, the source IP addresses can be forged.
Habilitar soporte para protocolo de PROXY en tu instancia de servidor de GitHub Enterprise
Recomendamos firmemente habilitar el soporte para protocolo de PROXY para tu aparato y 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.
-
In the upper-right corner of any page, click .
-
En la barra lateral izquierda, haz clic en Consola de administración.
-
In the left sidebar, click Privacy.
-
Dentro de External load balancers (Balanceadores de carga externos), selecciona Enable support for PROXY protocol (Habilitar soporte para el protocolo de PROXY).
-
Under the left sidebar, click Save settings.
PROXY protocol TCP port mappings
Source port | Destination port | Service description |
---|---|---|
22 | 23 | Git sobre SSH |
80 | 81 | HTTP |
443 | 444 | HTTPS |
8080 | 8081 | Consola de gestión HTTP |
8443 | 8444 | Consola de gestión de HTTPS |
9418 | 9419 | Git |
Habilitar soporte para X-Forwarded-For en tu instancia de servidor de GitHub Enterprise
Use the X-Forwarded-For protocol only when the PROXY protocol is unavailable. The X-Forwarded-For
header only works with HTTP and HTTPS. The IP address reported for Git connections over SSH will show the load balancer IP.
Warning: When terminating HTTPS connections on a load balancer, the requests from the load balancer to Servidor de GitHub Enterprise also need to use HTTPS. Downgrading the connection to HTTP is not supported.
-
In the upper-right corner of any page, click .
-
En la barra lateral izquierda, haz clic en Consola de administración.
-
In the left sidebar, click Privacy.
-
Dentro de External load balancers (Balanceadores de carga externos), selecciona Allow HTTP X-Forwarded-For header (Permitir encabezados HTTP X-Forwarded-For).
-
Under the left sidebar, click Save settings.
Protocol TCP port mappings for use without PROXY support
Source port | Destination port | Service description |
---|---|---|
22 | 22 | Git sobre SSH |
25 | 25 | SMTP |
80 | 80 | HTTP |
443 | 443 | HTTPS |
8080 | 8080 | Consola de gestión HTTP |
8443 | 8443 | Consola 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 el aparato está fuera de línea debido a un mantenimiento o una falla inesperada, 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 impulsar de forma manual el aparato réplica antes de que comience con las consultas activas. Para obtener más información, consulta "Configurar Servidor de GitHub Enterprise para alta disponibilidad."
Configure the load balancer to check one of these URLs:
https://HOSTNAME/status
if HTTPS is enabled (default)http://HOSTNAME/status
if HTTPS is disabled
The check will return status code 200
(OK) if the node is healthy and available to service end-user requests.
Nota: Cuando el aparato se encuentre en el modo de mantenimiento, la URL https://HOSTNAME/status
devolverá el código de estado 503
(Servicio no disponible). Para obtener más información, consulta "Habilitar y programar el modo de mantenimiento."