关于为 GitHub Enterprise Server
配置代理
为 你的 GitHub Enterprise Server 实例 启用代理服务器后,除非已将目标主机添加为 HTTP 代理排除项,否则会先通过代理服务器发送由 GitHub Enterprise Server 发送的出站消息。 出站消息类型包括传出 web 挂钩、上传包和提取旧头像。 代理服务器的 URL 由协议、域或 IP 地址外加端口号构成,例如 http://127.0.0.1:8123
。
Note
若要将 你的 GitHub Enterprise Server 实例 连接到 GitHub.com,代理配置必须允许与 github.com
和 api.github.com
的连接。 有关详细信息,请参阅“在 GitHub.com 上启用 GitHub Connect”。
如果为企业启用了 GitHub Actions,则仅支持 HTTP 代理。 不支持 SOCKS5 和 HTTPS 代理。有关将 GitHub Actions 与 GitHub Enterprise Server 配合使用的详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
配置出站 Web 代理服务器
可以配置出站代理服务器 你的 GitHub Enterprise Server 实例,还可以配置与特定域的连接特例。
实例使用 IANA 的注册顶级域 (TLD) 列表验证代理排除项的主机名。 有关详细信息,请参阅 IANA 网站上的 TLD 列表。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击 。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”。
-
在“设置”边栏中,按下“隐私”并取消选中“隐私模式”。
-
在“HTTP 代理服务器”下,键入代理服务器的 URL。
-
或者在“HTTP 代理排除项”下输入不需要进行代理访问权限的任意主机,并以逗号分隔主机。 以下规则适用于从代理中排除的顶级域 (TLD) 和 IP 地址。
- 排除 TLD 时,可以使用
.
作为通配符前缀(例如.octo-org.tentacle
)来排除域中所有主机,使其不需要代理访问权限。 - 实例使用 IANA 的注册 (TLD) 列表验证代理排除项的主机名。 有关详细信息,请参阅 IANA 网站上的 TLD 列表。 如果要排除未注册的 TLD,请参阅“从代理中排除其他未注册的 TLD”。
- 可以排除完整有效的 IPv4 或 IPv6 地址。
- 不能使用前面的点或尾随点作为通配符来排除 IPv4 或 IPv6 地址。
- 排除 TLD 时,可以使用
-
在“设置”边栏下,单击“保存设置”。
Note
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
从代理中排除其他未注册的 TLD
可以将实例的代理设置配置为排除在 IANA 网站上的 TLD 列表中未指定的未注册 TLD。
排除其他未注册的 TLD 时,必须使用 .
作为通配符前缀。 如果 TLD 为 tentacle
,则必须排除 .tentacle
。 如果没有前面的 .
,则无法排除未注册的 TLD。
-
通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
输入以下命令,将
COMMA-SEPARATED-TLD-LIST
替换为逗号分隔的 TLD 列表,每个 TLD 的前缀都是.
通配符。ghe-config noproxy.exception-tld-list "COMMA-SEPARATED-TLD-LIST"
例如:
ghe-config noproxy.exception-tld-list ".example,.internal"
-
若要应用配置,请运行以下命令。
Note
在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。
Shell ghe-config-apply
ghe-config-apply
-
等待配置运行完毕。