【问题标题】:SSL Certificate error in Google SDK utilitiesGoogle SDK 实用程序中的 SSL 证书错误
【发布时间】:2017-09-04 18:14:56
【问题描述】:

我们在办公室的 Linux 服务器上托管我们的公共网站。上周我用 CA 签名的证书替换了自签名的 SSL 证书。在我这样做之后,我无法在我的家庭 Linux 服务器上使用像 gcloud 或 gsutil 这样的 Google Cloud SDK 实用程序。我得到一个以

结尾的回溯
File "/usr/lib64/python2.7/ssl.py", line 272, in match_hostname %
(hostname, ', '.join(map(repr, dnsnames)))) 
ssl.CertificateError:
hostname 'metadata.google.internal' doesn't match either of
'www.rubgrp.com', 'rubgrp.com'

虽然 rubgrp.com 是公司域名,但在我的家庭 SDK 配置中没有引用它 - 云帐户与我的个人 gmail.com 地址相关联。为了验证问题是否与更改办公室服务器证书有关,我重新安装了自签名证书,错误消失了;放回签名证书后它又出现了。

我尝试在办公室的 Linux 机器上使用相同版本的操作系统和 Python 安装 SDK,并且成功了。我尝试在家里的 Mac 上安装它,它工作正常。但是当我在家庭 Linux 机器上设置另一个用户时,它失败了。它就像在他的家庭服务器上缓存了一些东西,但我找不到什么或在哪里。

谢谢!

【问题讨论】:

  • 您的家庭 linux 上的 /etc/hosts 或 dns 解析设置是否搞砸了?如果您声称在您的 sdk 设置中没有对 rubgrp.com 的引用,那么您的办公室 linux 服务器会被联系到,这很奇怪。我假设“www.rubgrp.com”和“rubgrp.com”是您的办公室服务器提供的 CA 颁发的证书中的主题 CN 和主题备用名称。
  • 我认为这是其中很大一部分。不确定这是否符合标准,但家庭解析器设置确实包含 rubgrp.com 的默认域。所以我可以看到,在查找 metadata.google.internal 时,它会添加 rubgrp.com,检索新证书,然后找到元数据......不包括在内。但是为什么办公室中配置相同的服务器不做同样的事情。我不是不同意,我很困惑——我觉得我错过了其中的一些关键部分。

标签: python linux ssl google-cloud-platform google-cloud-sdk


【解决方案1】:

也有这个问题,我通过编辑google-cloud-sdk/lib/googlecloudsdk/core/credentials/gce_cache.py修复了它:

将return False 添加到GetOnGCE 函数定义的第一行。这将防止它查询 metadata.google.internal 并感到困惑。

【讨论】:

    猜你喜欢
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2018-08-13
    • 2013-10-21
    相关资源
    最近更新 更多