组织代理环境下Google Cloud SDK初始化遇SSL证书验证失败求助
解决Google Cloud SDK初始化时SSL证书验证失败问题
问题分析
组织代理通过自签名CA证书拦截HTTPS流量,而Google Cloud SDK捆绑的Python默认仅信任公共根CA,导致请求触发[SSL: CERTIFICATE_VERIFY_FAILED]错误,进而引发可达性检查失败。
解决步骤
1. 获取组织根CA证书
联系IT部门获取代理使用的根CA证书文件(通常为.pem或.crt格式)。
2. 更新GCloud捆绑Python的证书信任列表
找到GCloud捆绑Python的certifi证书存储路径,默认安装路径如下:
C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\site-packages\certifi
以管理员权限启动文本编辑器(如Notepad++),打开路径下的cacert.pem文件,将组织根CA证书的内容追加到文件末尾,保存后关闭。
3. 配置证书信任规则
方法一:通过GCloud配置指定自定义CA证书
在命令行执行以下命令(替换为你的组织证书实际路径):
gcloud config set core/custom_ca_certs_file "C:\path\to\your\org-ca.crt"
方法二:设置环境变量让Python使用更新后的证书
- CMD命令行:
setx REQUESTS_CA_BUNDLE "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\site-packages\certifi\cacert.pem" setx SSL_CERT_FILE "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\site-packages\certifi\cacert.pem" - PowerShell:
[Environment]::SetEnvironmentVariable("REQUESTS_CA_BUNDLE", "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\site-packages\certifi\cacert.pem", "User") [Environment]::SetEnvironmentVariable("SSL_CERT_FILE", "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\site-packages\certifi\cacert.pem", "User")
4. 测试验证
关闭当前命令行窗口,重新打开后运行gcloud init,检查可达性检查是否成功。
内容的提问来源于stack exchange,提问作者balintd
相关产品推荐
相关产品推荐

