我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.15

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-10-16. 即使针对重大安全问题,也不会发布补丁。 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.

网络配置

GitHub Enterprise Server 集群依靠正确的 DNS 名称解析、负载均衡以及节点之间的通信来正常运行。

网络考虑因素

对于集群而言,最简单的网络设计是将节点置于单个 LAN 上。 如果冗余集群必须跨越子网,则子网之间应该提供适当的路由,延迟应短于 1 毫秒。

最终用户的应用程序端口

应用程序端口为最终用户提供 Web 应用程序和 Git 访问。

端口 描述 加密
22/TCP 通过 SSH 访问 Git
25/TCP SMTP 需要 STARTTLS
80/TCP HTTP
(启用 SSL 时,此端口重定向到 HTTPS)
443/TCP HTTPS
9418/TCP 简单的 Git 协议端口
(在私有模式下禁用)

管理端口

最终用户在使用基本应用程序时不需要管理端口。

端口 描述 加密
ICMP ICMP Ping
122/TCP 管理 SSH
161/UDP SNMP
8080/TCP Management Console HTTP
(启用 SSL 时,此端口重定向到 HTTPS)
8443/TCP Management Console HTTPS

集群通信端口

如果节点之间存在网络级防火墙,则需要访问这些端口。 节点之间的通信未加密。 这些端口不应从外部访问。

端口 描述
1336/TCP 内部 API
3033/TCP 内部 SVN 访问
3037/TCP 内部 SVN 访问
3306/TCP MySQL
4486/TCP 管理者访问
5115/TCP 存储后端
5208/TCP 内部 SVN 访问
6379/TCP Redis
8001/TCP Grafana
8090/TCP 内部 GPG 访问
8149/TCP GitRPC 文件服务器访问
9000/TCP Git Daemon
9102/TCP 页面文件服务器
9105/TCP LFS 服务器
9200/TCP Elasticsearch
9203/TCP 语义代码服务
9300/TCP Elasticsearch
11211/TCP Memcache
161/UDP SNMP
8125/UDP Statsd
25827/UDP Collectd

配置负载均衡器

我们建议使用基于 TCP 的外部负载均衡器,它支持 PROXY 协议来跨节点分配流量。 请考虑以下负载均衡器配置:

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.

处理客户端连接信息

由于客户端与集群的连接来自负载均衡器,因此客户端 IP 地址可能会丢失。 要正确捕获客户端连接信息,需要考虑其他因素。

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.

在 GitHub Enterprise Server 上启用 PROXY 支持

我们强烈建议您为实例和负载均衡器启用 PROXY 支持。

PROXY protocol TCP port mappings
Source port Destination port Service description
22 23 通过 SSH 访问 Git
80 81 HTTP
443 444 HTTPS
8080 8081 Management Console HTTP
8443 8444 Management Console HTTPS
9418 9419 Git

在 GitHub Enterprise Server 上启用 X-Forwarded-For 支持

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.

要启用 X-Fowarded-For 标头,请使用以下命令:

$ 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 通过 SSH 访问 Git
25 25 SMTP
80 80 HTTP
443 443 HTTPS
8080 8080 Management Console HTTP
8443 8443 Management Console HTTPS

配置状态检查

如果预配置的检查在该节点上失败,则状态检查允许负载均衡器停止向未响应的节点发送流量。 如果集群节点出现故障,则与冗余节点配对的状态检查可提供高可用性。

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.

注:当设备处于维护模式时,https://HOSTNAME/status URL 将返回状态代码 503(服务不可用)。更多信息请参阅“启用和安排维护模式”。

DNS 要求

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. 更多信息请参阅“启用子域隔离”。

问问别人

找不到要找的内容?

联系我们