跳至主要内容

在自托管运行器中使用代理服务器

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

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

如果您需要自托管运行器通过代理服务器进行通信,自托管运行器应用程序将使用以下环境变量中设置的代理配置

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

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

注意: 为了避免问题,建议将环境变量视为区分大小写,无论您使用的操作系统和 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 以使用代理服务器”。