appcfg.py request_logs证书验证失败(_ssl.c:661)

时间:2018-04-08 15:43:32

标签: python-2.7 google-app-engine httplib2 appcfg

我们一直在使用appcfg.py request_logs下载GAE日志,偶尔会抛出错误:

httplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

但是经过几次尝试后,有时它也会在使用gcloud更新gcloud components update后起作用。我们认为它可能是某种类型的网络限制问题,并没有给予足够的思考。最近,我们正试图找出导致这种情况的原因。

我们使用的完整命令是:

appcfg.py request_logs -A testapp --version=20180321t073239 --severity=0  all_logs.log --append --no_cookies

似乎该错误与httplib2库相关,但由于它是appcfg.py调用的一部分,因此我们不确定是否应该篡改其调用内的内容

版本:

Python 2.7.13
Google Cloud SDK 196.0.0
app-engine-python 1.9.67

1 个答案:

答案 0 :(得分:3)

现在这已经变得更加持久,无论我尝试多少次,我都无法下载日志几天。

查看download logs命令,我再次尝试了相同的命令,但没有--no_cookies标志,看看会发生什么。

appcfg.py request_logs -A testapp --version=20180321t073239 --severity=0  all_logs.log --append

我收到了错误:

Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u'e~testapp').
--- end server output ---

这引导我得到@ninjahoahong提供的答案https://stackoverflow.com/a/34694577/1394228。这适用于我和从第一次试用下载的日志,以防有人面临同样的问题

还有这个Google Group post,我没有尝试,但似乎它做同样的事情。

不确定删除文件~/.appcfg_oauth2_tokens是否会产生其他影响,但要查找。

<强>更新

我还发现位于/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/httplib2的httplib2 版本 =“0.7.5”,我将其升级为版本 ='0.11.3 '使用目标位置(目录)升级命令:

sudo pip2 install --upgrade httplib2 -t /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/httplib2/