Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen finden Sie in unserer englischsprachigen Dokumentation.
Artikelversion: Enterprise Server 2.15

Diese Version von GitHub Enterprise wird eingestellt am Diese Version von GitHub Enterprise wurde eingestellt am 2019-10-16. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Netzwerkkonfiguration

GitHub Enterprise Server Clustering basiert auf der richtigen DNS-Namensauflösung, dem Lastausgleich und der Kommunikation zwischen den Knoten, um ordnungsgemäß zu funktionieren.

Grundlegendes zu Netzwerken

Das einfachste Netzwerkdesign für Clustering besteht darin, die Knoten in einem einzelnen LAN zu platzieren. Wenn ein redundanter Cluster mehrere Subnetze abdecken muss, sollten zwischen den Subnetzen entsprechende Routen verfügbar sein. Zudem sollte die Latenz kleiner als 1 ms sein.

Anwendungsports für Endbenutzer

Mit Anwendungsports können Endbenutzer auf Webanwendungen und Git zugreifen.

Port Beschreibung Verschlüsselt
22/TCP Git über SSH Ja
25/TCP SMTP Erfordert STARTTLS
80/TCP HTTP Nein
(Wenn SSL aktiviert ist, leitet dieser Port Elemente an HTTPS weiter)
443/TCP HTTPS Ja
9418/TCP Einfacher Git-Protokollport
(Im privaten Modus deaktiviert)
Nein

Verwaltungsports

Verwaltungsports sind für die einfache Verwendung von Anwendungen durch Endbenutzer nicht erforderlich.

Port Beschreibung Verschlüsselt
ICMP ICMP Ping Nein
122/TCP Verwaltungs-SSH Ja
161/UDP SNMP Nein
8080/TCP HTTP für Managementkonsole Nein
(Wenn SSL aktiviert ist, leitet dieser Port Elemente an HTTPS weiter)
8443/TCP HTTPS für Managementkonsole Ja

Clusterkommunikationsports

Wenn sich zwischen Knoten eine Firewall auf Netzwerkebene befindet, müssen diese Ports zugänglich sein. Die Kommunikation zwischen Knoten ist nicht verschlüsselt. Diese Ports sollten extern nicht zugänglich sein.

Port Beschreibung
1336/TCP Interne API
3033/TCP Interner SVN-Zugriff
3037/TCP Interner SVN-Zugriff
3306/TCP MySQL
4486/TCP Governor-Zugriff
5115/TCP Storage-Back-End
5208/TCP Interner SVN-Zugriff
6379/TCP Redis
8001/TCP Grafana
8090/TCP Interner GPG-Zugriff
8149/TCP GitRPC-Dateiserverzugriff
9000/TCP Git-Daemon
9102/TCP Pages-Dateiserver
9105/TCP LFS-Server
9200/TCP ElasticSearch
9203/TCP Dienst für semantischen Code
9300/TCP ElasticSearch
11211/TCP Memcache
161/UDP SNMP
8125/UDP Statsd
25827/UDP Collectd

Load-Balancer konfigurieren

Sie sollten einen externen TCP-basierten Load-Balancer verwenden, der das PROXY-Protokoll unterstützt, um den Traffic auf die Knoten zu verteilen. Beachten Sie die folgenden Load-Balancer-Konfigurationen:

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.

Clientverbindungsinformationen verarbeiten

Da Clientverbindungen zum Cluster vom Load-Balancer stammen, kann die Client-IP-Adresse verloren gehen. Zum entsprechenden Erfassen der Clientverbindungsinformationen sind zusätzliche Überlegungen nötig.

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-Unterstützung auf GitHub Enterprise Server aktivieren

Es wird dringend empfohlen, die PROXY-Unterstützung für Ihre Instanz und für den Load-Balancer zu aktivieren.

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 für GitHub Enterprise Server 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.

Führen Sie zum Aktivieren des Headers X-Fowarded-For den folgenden Befehl aus:

$ ghe-config 'loadbalancer.http-forward' 'true' && ghe-cluster-config-apply
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 ein Clusterknoten fehlschlägt, bieten die mit den redundanten Knoten gekoppelten Zustandsprüfungen Hochverfügbarkeit.

Configure the load balancer to check one of these URLs:

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."

DNS-Anforderungen

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“.

Menschliche Unterstützung einholen

Sie können das Gesuchte nicht finden?

Kontakt