关于负载均衡器
负载均衡器设计使用网络设备将 Git 和 HTTP 流量引导至各个 GitHub Enterprise Server 设备。 您可以使用负载均衡器限制引导至设备的流量以确保安全,或者在没有 DNS 记录更改的情况下� �据需要重定向流量。 我们强烈建议使用支持 PROXY 协议的基于 TCP 负载均衡器。
对 GitHub Enterprise Server 主机名的 DNS 查询应解析为负载均衡器。 我们建议您启用子域隔离。 如果启用了子域隔离,另一个通配符记录 (*.HOSTNAME
) 也应解析为负载均衡器。 更多信息请参阅“启用子域隔离”。
处理客户端连接信息
由于与 GitHub Enterprise Server 的客户端连接来自负载均衡器,� 此客户端 IP 可丢失。
如果您的负载均衡器可以支持 PROXY 协议,我们强烈建议您实施该协议。 如果不能提供 PROXY 支持,使用 X-Forwarded-For
� �头也可以对 HTTP 和 HTTPS 端口进行负载平衡。
安全警告:启用了 PROXY 支持或 HTTP 转发时,重要的是确保没有外部流量可以直接到达 GitHub Enterprise Server 设备。 如果未能正确阻止外部流量,则源 IP 地址可能被伪� 。
警告: 在负载均衡器上终止 HTTPS 连接时,从负载均衡器到 GitHub Enterprise Server 的请求也需要使用 HTTPS。 不支持降级到 HTTP 连接。
在 your GitHub Enterprise Server instance 上启用 PROXY 协议支持
强烈建议同时为您的设备和负载均衡器启用 PROXY 协议支持。 按照您的供应商提供的说明操作,在负载均衡器上启用 PROXY 协议。 更多信息请参阅 PROXY 协议文档。
Note: GitHub Enterprise Server supports PROXY Protocol V1, which is incompatible with AWS Network Load Balancers. If you use AWS Network Load Balancers with GitHub Enterprise Server, do not enable PROXY support.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
在左侧边� �中,单击 管理控制台。
-
在左侧边� �中,单击 Privacy(隐私)。
-
在 External load balancers 下,选择 Enable support for PROXY protocol。
-
在左侧边� �下,单击 Save settings(保存设置)。
Note: Saving settings in the 管理控制台 restarts system services, which could result in user-visible downtime.
-
等待配置运行完毕。
PROXY 协议 TCP 端口� 射
源端口 | 目� �端口 | 服务描述 |
---|---|---|
22 | 23 | 通过 SSH 访问 Git |
80 | 81 | HTTP |
443 | 444 | HTTPS |
8080 | 8081 | Management Console HTTP |
8443 | 8444 | Management Console HTTPS |
9418 | 9419 | Git |
在 your GitHub Enterprise Server instance 上启用 X-Forwarded-For 支持
仅当 PROXY 协议不可用时才使用 X-Forwarded-For 协议。 X-Forwarded-For
� �头仅适用于 HTTP 和 HTTPS。 基于 SSH 的 Git 连接报告的 IP 地址将显示负载均衡器 IP。
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
在左侧边� �中,单击 管理控制台。
-
在左侧边� �中,单击 Privacy(隐私)。
-
在 External load balancers 下,选择 Allow HTTP X-Forwarded-For header。
-
在左侧边� �下,单击 Save settings(保存设置)。
Note: Saving settings in the 管理控制台 restarts system services, which could result in user-visible downtime.
-
等待配置运行完毕。
协议 TCP 端口� 射,� 需 PROXY 支持即可使用
源端口 | 目� �端口 | 服务描述 |
---|---|---|
22 | 22 | 通过 SSH 访问 Git |
25 | 25 | SMTP |
80 | 80 | HTTP |
443 | 443 | HTTPS |
8080 | 8080 | Management Console HTTP |
8443 | 8443 | Management Console HTTPS |
配置健康状态检查
如果预配置的检查在该节点上失败,则状态检查允许负载均衡器停止向未响应的节点发送流量。 如果设备� 维护或计划外的故障而离线,负载均衡器可以显示状态页面。 在高可用性 (HA) 配置下,负载均衡器可用作故障转移策略的组成部分。 不过,不支持 HA 对的自动故障转移。 在副本设备开始为请求提供服务之前,您必须手动升级副本设备。 更多信息请参阅“配置 GitHub Enterprise Server 以实现高可用性”。
配置负载均衡器以检查以下 URL 之一:
https://HOSTNAME/status
,如果 HTTPS 已启用(默认)http://HOSTNAME/status
,如果 HTTPS 被禁用
如果节点运行正常并且可为最终用户的请求提供服务,则检查将返回状态代� � 200
(OK)。
注意: 当设备处于维护模式时,https://HOSTNAME/status
URL 将返回状态代� � 503
(服务不可用)。 更多信息请参阅“启用和排定维护模式”。