GitHub Enterprise Server mit einem Load-Balancer verwenden
Verwenden Sie einen Load-Balancer vor einer einzelnen GitHub Enterprise Server-Appliance oder einem Paar an Appliances in einer Hochverfügbarkeitskonfiguration.
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. Weitere Informationen finden Sie unter „Subdomain-Isolation aktivieren“.
In diesem Handbuch
Clientverbindungsinformationen verarbeiten
Da Clientverbindungen zu GitHub Enterprise Server vom Load-Balancer stammen, kann die Client-IP-Adresse verloren gehen.
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.
PROXY-Protokollunterstützung auf Ihre GitHub Enterprise Server-Instanz aktivieren
Es wird dringend empfohlen, die PROXY-Protokollunterstützung für Ihre Appliance und für den Load-Balancer zu aktivieren. Befolgen Sie die Anweisungen Ihres Anbieters, um das PROXY-Protokoll auf Ihrem Load-Balancer zu aktivieren. Weitere Informationen finden Sie in der Dokumentation zum „PROXY-Protokoll“.
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Privacy.
-
Wählen Sie Enable support for PROXY protocol (Unterstützung für PROXY-Protokoll aktivieren) unter External load balancers (Externe Load-Balancer) aus.
-
Under the left sidebar, click Save settings.
PROXY protocol TCP port mappings
Source port | Destination port | Service description |
---|---|---|
22 | 23 | Git über SSH |
80 | 81 | HTTP |
443 | 444 | HTTPS |
8080 | 8081 | HTTP für Managementkonsole |
8443 | 8444 | HTTPS für Managementkonsole |
9418 | 9419 | Git |
X-Forwarded-For-Unterstützung auf Ihre GitHub Enterprise Server-Instanz aktivieren
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.
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Privacy.
-
Wählen Sie Allow HTTP X-Forwarded-For header (HTTP X-Forwarded-For-Header zulassen) unter External load balancers (Externe Load-Balancer) aus.
-
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 über SSH |
25 | 25 | SMTP |
80 | 80 | HTTP |
443 | 443 | HTTPS |
8080 | 8080 | HTTP für Managementkonsole |
8443 | 8443 | HTTPS für Managementkonsole |
Zustandsprüfungen konfigurieren
Zustandsprüfungen ermöglichen einem Load-Balancer, das Senden von Traffic an einen nicht antwortenden Knoten zu stoppen, wenn eine vorkonfigurierte Prüfung auf diesem Knoten fehlschlägt. Wenn die Appliance aufgrund einer Wartung oder eines unerwarteten Ausfalls offline ist, kann der Load-Balancer eine Statusseite anzeigen. In einer Hochverfügbarkeitskonfiguration (HA) kann ein Load-Balancer als Bestandteil einer Failover-Strategie verwendet werden. Das automatische Failover von HA-Paaren wird jedoch nicht unterstützt. Sie müssen die Replikat-Appliance manuell hochstufen, bevor sie Anforderungen verarbeitet. Weitere Informationen finden Sie unter „GitHub Enterprise Server für Hochverfügbarkeit konfigurieren“.
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). For more information, see "Enabling and scheduling maintenance mode."