Skip to main content

将代理服务器与自托管运行程序结合使用

您可以配置自托管运行器使用代理服务器与 GitHub 通信。

使用环境变量配置代理服务器

如果需要一个自托管运行器来通过代理服务器通信,则自托管运行器应用程序使用在以下环境变量中设置的代理配置:

  • https_proxy:HTTPS 流量的代理 URL。 如果需要,您也可以包括基本验证凭据。 例如:
    • http://proxy.local
    • http://192.168.1.1:8080
    • http://username:password@proxy.local
  • http_proxy:HTTP 流量的代理 URL。 如果需要,您也可以包括基本验证凭据。 例如:
    • http://proxy.local
    • http://192.168.1.1:8080
    • http://username:password@proxy.local
  • no_proxy:不应使用代理的主机的逗号分隔列表。 no_proxy 中只允许使用主机名,不能使用 IP 地址。 例如:
    • example.com
    • example.com,myserver.local:443,example.org

当自托管运行器应用程序启动时,会读取代理环境变量,因此您必须在配置或启动自托管运行器应用程序之前设置环境变量。 如果代理配置发生更改,则必须重启自托管运行程序应用程序。

Note

为了避免问题,无论所用操作系统和 shell 的行为为何,最好将环境变量视为区分大小写。

在 Windows 计算机上,代理环境变量名称不区分大小写。 在 Linux 和 macOS 机器上,建议环境变量全部小写。 如果 Linux 或 macOS 上的环境变量具有小写和大写形式(例如 https_proxyHTTPS_PROXY),自托管运行程序应用程序会使用小写环境变量。

自托管运行器和 GitHub 通过 HTTPS(端口 443)建立连接。

使用 .env 文件设置代理配置

如果设置环境变量不可行,可以在自托管运行器应用程序目录(即运行器软件下载并解包到的目录)中名为 .env 的文件中设置代理配置变量。 例如,如果您想要将运行器应用程序配置为系统帐户下的服务,这可能是必需的。 当运行器应用程序启动时,它会读取 .env 中为代理配置设置的变量。

.env 代理配置示例

https_proxy=http://proxy.local:8080
no_proxy=example.com,myserver.local:443

设置 Docker 容器的代理配置

如果您在工作流程中使用 Docker 容器操作或服务容器,则除了设置上述环境变量外,可能还需要配置 Docker来使用代理服务器。

有关所需 Docker 配置的信息,请参阅 Docker 文档中的“配置 Docker 以使用代理服务器”。