由于我从今天早上开始遇到以下错误,因此无法部署我的应用。
我在没有太多帮助的情况下尝试了gcloud info --run-diagnostics
和gcloud components reinstall
。
我尝试使用适用于Windows的旧Google App Engine Launcher
部署它,但遇到了同样的错误。
早些时候它使用gcloud直到昨天晚上(IST)。请帮忙!
我正在使用最新的gcloud sdk并更新了所有组件。我用的是Win10。我也试过重启我的笔记本电脑。
C:\gaurav\coding\python\myapp\myapp\dist>gcloud app deploy --project=myproject --version 1 --verbosity=info ./app.yaml
INFO: Refreshing access_token
ERROR: gcloud crashed (SSLHandshakeError): [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
If you would like to report this issue, please run the following command:
gcloud feedback
To check gcloud for common problems, please run the following command:
gcloud info --run-diagnostics
C:\gaurav\coding\python\myapp\myapp\dist>
诊断输出。
C:\gaurav\coding\python\myapp\myapp\dist> gcloud info --run-diagnostics
Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.
ERROR: Reachability Check failed.
Cannot reach https://accounts.google.com (SSLHandshakeError)
Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects (SSLHandshakeError)
Cannot reach https://www.googleapis.com/auth/cloud-platform (SSLHandshakeError)
Network connection problems may be due to proxy or firewall settings.
Do you have a network proxy you would like to set in gcloud (Y/n)? n
ERROR: Network diagnostic (0/1 checks) failed.
C:\gaurav\coding\python\myapp\myapp\dist>
虽然gcloud info --run-diagnostics
抱怨无法访问这三个网址。我可以从网络浏览器打开它们。
答案 0 :(得分:3)
我发现在使用Fiddler(用于查看网络流量)并解密启用https流量时,我收到了SSLHandshakeError。
停止工具(或选择不解密https流量)然后运行gcloud导致成功。
根据评论,其他Web调试代理也存在问题,例如Charles。
答案 1 :(得分:2)
最近的GAE和GCloud SDK版本中存在的问题是存在无效的SSH证书,例如,请参阅Google App Engine SSL Certificate Error和issue 38338974。
您可以尝试在上述帖子中使用我建议的解决方案,并将SDK的证书文件替换为有效的(必须为gcloud SDK找到一个好的,我的答案是GAE SDK)。 / p>
您可能也可以使用gcloud config
命令将core
custom_ca_certs_file
可配置属性设置为指向具有最新证书的文件,如果你有一个。我没试过,YMMV。
答案 2 :(得分:2)
在MacOS High Sierra上升级到Python 2.7.9为我解决了这个问题。
答案 3 :(得分:0)
我遇到了同样的问题,从运行命令root/intermediate cert
时获得的Google网址之一下载了gcloud info --run-diagnostics
并追加到正在使用的cacerts.txt
文件中。就我而言,它是以下内容:google-cloud-sdk/lib/third_party/httplib2/python2/httplib2/cacerts.txt
答案 4 :(得分:0)
在MacOS Mojave上安装google cloud SDK时遇到了这个问题。我没有公司代理的身影,网络上的所有答案似乎都表明这是问题所在。我在install.sh脚本中注意到,它为python可执行文件使用了环境变量CLOUDSDK_PYTHON。因此,我通过将路径导出到python 3可执行文件来解决此问题。
就我而言: 导出CLOUDSDK_PYTHON = / Library / Frameworks / Python.framework / Versions / 3.6 / bin / python3.6
此后安装按预期进行。
答案 5 :(得分:0)
对我来说,这是python版本中的冲突。 gcloud
正在调用其他版本。解决方案是将CLOUDSDK_PYTHON
设置为指向正确的python(在这种情况下为python2)。
答案 6 :(得分:0)
答案 7 :(得分:0)
我尝试部署gcloud,但出现此错误。这是我的解决方法:
使用Firefox访问Google云
下载证书。 pem文件和链文件
将它们附加到位于cert.pem
上的位置:
C:\Program Files\google-cloud-sdk\lib\third_party\certifi\cert.pem
(使用此方法您将基于代理创建自定义CA证书文件)
按此处所述更新证书文件:https://cloud.google.com/sdk/gcloud/reference/config/set (自定义CA证书文件的绝对路径。)
确保路径末尾有cert.pem
。
答案 8 :(得分:0)
我通过从gcloud
安装apt-get
解决了该问题。指南位于此link