Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-09-25. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

配置出站 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

Note

若要将 你的 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. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  3. 在“ 站点管理”边栏中,单击“管理控制台”。

  4. 在“设置”边栏中,按下“隐私”并取消选中“隐私模式”。

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

  6. 或者在“HTTP 代理排除项”下输入不需要进行代理访问权限的任意主机,并以逗号分隔主机。 以下规则适用于从代理中排除的顶级域 (TLD) 和 IP 地址。

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

    Note

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

  8. 等待配置运行完毕。

从代理中排除其他未注册的 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. 若要应用配置,请运行以下命令。

    Note

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

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