配置 Cloud SDK 以在代理/防火墙后使用

如果您使用公司代理或防火墙,则 gcloud 命令行工具可能无法使用默认设置访问互联网。

安装 Cloud SDK

交互式 Cloud SDK 安装程序会在安装过程中从互联网下载组件,如果您使用代理或防火墙,安装过程可能无法正常运行。

为了在需要代理配置时简化安装过程,请使用某个独立版本归档来安装 Cloud SDK。您也可以从下载归档下载所有旧版 Cloud SDK。

代理配置

安装 Cloud SDK 后,您可以通过运行 gcloud config,使用 Cloud SDK 属性来配置代理设置。如需详细了解 Cloud SDK 属性以及如何使用它们,请参阅属性页面。

首先,设置您正在使用的代理类型以及在访问代理时使用的地址和端口:

```posix-terminal
gcloud config set proxy/type [PROXY_TYPE]
gcloud config set proxy/address [PROXY_IP_ADDRESS]
gcloud config set proxy/port [PROXY_PORT]
```
  • Cloud SDK 支持以下 PROXY_TYPE 值:httphttp_no_tunnelsocks4socks5
  • PROXY_IP_ADDRESS 是代理的访问位置的主机名或 IP 地址。
  • PROXY_PORT 是代理运行时使用的端口(例如 8080)。

对于经过身份验证的代理,您需要使用属性来设置代理用户名和密码,如下所示:

```posix-terminal
gcloud config set proxy/username [USERNAME]
gcloud config set proxy/password [PASSWORD]
```

或者,为避免将代理凭据记录在任何日志(如 shell 历史记录或 gcloud 工具日志)或 gcloud 工具配置文件中,您可以使用环境变量来设置属性,如以下示例所示:

```posix-terminal
export CLOUDSDK_PROXY_USERNAME [USERNAME]
export CLOUDSDK_PROXY_PASSWORD [PASSWORD]
```

gcloud 工具不会存储这些值。这样,凭据可以在本地存储到加密文件中,或者可以存储在安全网络位置,并在必要时可供检索。

如果您使用了代理,并收到 SSL 握手错误,则可能是您的代理是中间人代理,它使用的是自定义 CA。您需要设置以下属性来指向您的自定义 CA 文件:

```posix-terminal
gcloud config set core/custom_ca_certs_file [PATH_TO_CUSTOM_CA]
```

如需相关属性的完整说明,请运行 gcloud topic configurationsgcloud config set 并在“可用属性”部分下查找代理