Skip to main content

配置出站 Web 代理服务器

代理服务器为 你的 GitHub Enterprise Server 实例 额外提供了一级安全性。

谁可以使用此功能?

Site administrators can configure an outbound web proxy server for a GitHub Enterprise Server instance.

关于 GitHub Enterprise Server 的代理配置

为 你的 GitHub Enterprise Server 实例 启用代理服务器后,除非已将目标主机添加为 HTTP 代理排除项,否则会先通过代理服务器发送由 GitHub Enterprise Server 发送的出站消息。 出站消息类型包括传出 web 挂钩、上传包和提取旧头像。 代理服务器的 URL 由协议、域或 IP 地址外加端口号构成,例如 http://127.0.0.1:8123

注意

若要将 你的 GitHub Enterprise Server 实例 连接到 GitHub.com,代理配置必须允许与 github.comapi.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 列表

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。1. 在“Settings”边栏中,单击“Privacy”并取消选中“Private mode”********。

  3. 在“HTTP 代理服务器”下,键入代理服务器的 URL。

  4. (可选)在“HTTP 代理排除”**** 下,键入任何不需要代理访问的主机,用逗号分隔主机。 以下规则适用于从代理中排除的顶级域 (TLD) 和 IP 地址。

    • 排除 TLD 时,可以使用 . 作为通配符前缀(例如 .octo-org.tentacle)来排除域中所有主机,使其不需要代理访问权限。
    • 实例使用 IANA 注册的顶级域名列表验证您排除的主机名。 有关详细信息,请参阅 IANA 网站上的 TLD 列表。 如果要排除未注册的 TLD,请参阅“从代理中排除其他未注册的 TLD”。
    • 可以排除完整有效的 IPv4 或 IPv6 地址。
    • 不能使用前面的点或尾随点作为通配符来排除 IPv4 或 IPv6 地址。
  5. 在“设置”边栏下,单击“保存设置”。

    注意

    保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  6. 等待配置运行完毕。

从代理中排除其他未注册的 TLD

可以将实例的代理设置配置为排除在 IANA 网站上的 TLD 列表中未指定的未注册 TLD。

排除其他未注册的 TLD 时,必须使用 . 作为通配符前缀。 如果 TLD 为 tentacle,则必须排除 .tentacle。 如果没有前面的 .,则无法排除未注册的 TLD。

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 输入以下命令,将 COMMA-SEPARATED-TLD-LIST 替换为逗号分隔的 TLD 列表,每个 TLD 的前缀都是 . 通配符。

    ghe-config noproxy.exception-tld-list "COMMA-SEPARATED-TLD-LIST"
    

    例如:

    ghe-config noproxy.exception-tld-list ".example,.internal"
    
  3. 若要应用配置,请运行以下命令。

    注意

    在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。

    Shell
    ghe-config-apply
    
  4. 等待配置运行完毕。