👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.
Versão do artigo: Enterprise Server 2.19

Usar o GitHub Enterprise Server com balanceador de carga

Use um balanceador de carga na frente de um appliance ou de um par de appliances do GitHub Enterprise Server em uma configuração de alta disponibilidade.

Neste artigo

A load balancer design uses a network device to direct Git and HTTP traffic to individual GitHub Enterprise Server 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 GitHub Enterprise Server 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 obter mais informações, consulte "Habilitar isolamento de subdomínio".

Informações de conexão do cliente

Como as conexões do cliente com o GitHub Enterprise Server vêm do balanceador de carga, pode ocorrer a perda do endereço IP do 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 GitHub Enterprise Server appliances. If external traffic is not properly blocked, the source IP addresses can be forged.

Habilitar o suporte de protocolo PROXY na sua instância do GitHub Enterprise Server

É altamente recomendável ativar o suporte de protocolo PROXY para o appliance e o balanceador de carga. Use as instruções do fornecedor para habilitar o protocolo PROXY no balanceador de carga. Para obter mais informações, consulte a documentação do protocolo PROXY.

  1. In the upper-right corner of any page, click .
    Ícone de foguete para acessar as configurações de administrador do site
  2. In the left sidebar, click Console de gerenciamento.
    Console de gerenciamento tab in the left sidebar
  3. In the left sidebar, click Privacy.
    Privacy tab in the settings sidebar
  4. Em External load balancers (Balanceadores de carga externos), selecione Enable support for PROXY protocol (Habilitar suporte do protocolo PROXY).
    Caixa de seleção para habilitar o suporte do protocolo PROXY
  5. Under the left sidebar, click Save settings.
    Botão Save settings (Salvar configurações)
PROXY protocol TCP port mappings
Source portDestination portService description
2223Git em SSH
8081HTTP
443444HTTPS
80808081HTTP de console de gerenciamento
84438444HTTPS de console de gerenciamento
94189419Git

Habilitar o suporte X-Forwarded-For na sua instância do GitHub Enterprise Server

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 GitHub Enterprise Server also need to use HTTPS. Downgrading the connection to HTTP is not supported.

  1. In the upper-right corner of any page, click .
    Ícone de foguete para acessar as configurações de administrador do site
  2. In the left sidebar, click Console de gerenciamento.
    Console de gerenciamento tab in the left sidebar
  3. In the left sidebar, click Privacy.
    Privacy tab in the settings sidebar
  4. Em External load balancers (Balanceadores de carga externos), selecione Allow HTTP X-Forwarded-For header (Habilitar header HTTP X-Forwarded-For).
    Caixa de seleção para permitir o header HTTP X-Forwarded-For
  5. Under the left sidebar, click Save settings.
    Botão Save settings (Salvar configurações)
Protocol TCP port mappings for use without PROXY support
Source portDestination portService description
2222Git em SSH
2525SMTP
8080HTTP
443443HTTPS
80808080HTTP de console de gerenciamento
84438443HTTPS de console de gerenciamento

Configurar verificações de integridade

As verificações de integridade permitem que um balanceador de carga pare de enviar tráfego para um nó que não responde em caso de falha na verificação pré-configurada do nó em questão. Se o appliance estiver offline devido a manutenção ou falha inesperada, o balanceador de carga poderá exibir uma página de status. Em configurações de alta disponibilidade (HA), é possível usar balanceadores de carga como parte da estratégia de failover. No entanto, não há suporte para failover automático de pares de HA. Promova manualmente o appliance réplica antes que ele comece a atender a solicitações. Para obter mais informações, consulte "Configurar o GitHub Enterprise Server para alta disponibilidade".

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.

Note: When the appliance is in maintenance mode, the https://HOSTNAME/status URL will return status code 503 (Service Unavailable). Para obter mais informações, consulte "Habilitar e programar o modo de manutenção".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato