跳至主要内容

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

您可以配置自托管运行器以使用代理服务器与 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 以使用代理服务器”。