Skip to main content
 首页 » 编程设计

python之SSLHandshakeError之Google App Engine

2025年05月04日27davidwang456

我正在 PhpStorm 上开发一个简单的项目并安装了 GAE 插件和 SDK。运行服务器并显示项目正常运行,但是当我尝试部署我的应用程序时出现这种错误:(这是一个 PHP 项目)

C:\Python27\python.exe "C:/Users/asim/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/google_appengine/appcfg.py" update . 
10:08 AM Application: gtmdocx; version: None 
10:08 AM Host: appengine.google.com 
Traceback (most recent call last): 
  File "C:/Users/asim/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/google_appengine/appcfg.py", line 133, in <module> 
    run_file(__file__, globals()) 
  File "C:/Users/asim/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/google_appengine/appcfg.py", line 129, in run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 5518, in <module> 
    main(sys.argv) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 5509, in main 
    result = AppCfgApp(argv).Run() 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 2969, in Run 
    self.action(self) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 5165, in __call__ 
    return method() 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 3897, in Update 
    self._UpdateWithParsedAppYaml(appyaml, self.basepath) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", line 3918, in _UpdateWithParsedAppYaml 
    updatecheck.CheckForUpdates() 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\sdk_update_checker.py", line 245, in CheckForUpdates 
    runtime=runtime)) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appengine_rpc_httplib2.py", line 246, in Send 
    url, method=method, body=payload, headers=headers) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\httplib2\httplib2\__init__.py", line 1626, in request 
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\httplib2\httplib2\__init__.py", line 1368, in _request 
    (response, content) = self._conn_request(conn, request_uri, method, body, headers) 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\httplib2\httplib2\__init__.py", line 1288, in _conn_request 
    conn.connect() 
  File "C:\Users\asim\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\httplib2\httplib2\__init__.py", line 1082, in connect 
    raise SSLHandshakeError(e) 
httplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) 
 
Process finished with exit code 1 

我已经尝试卸载和升级 Python,现在我使用的是 2.7.9,但这个错误仍然无法消除。我也尝试删除 cacerts.txt 但仍然没有运气这个问题

ttplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) 

我希望任何人以前遇到过这个问题并且可以帮助我解决这个问题。

这是我的 App.yaml 文件:

runtime: php55 
api_version: 1 
threadsafe: true 
service: default 
application: gtmdocx 
 
handlers: 
- url: .* 
  script: main.php 
  login: admin 

请您参考如下方法:

回溯表明在尝试检查 SDK 更新时发生了故障,因此您应该能够通过使用 appcfg.py 的 来解决它--skip_sdk_update_check 选项。

我没有使用 PHP SDK,但我在 python 开发服务器的 SDK 升级检查中发现了类似的失败,我的解决方案也适用于您的情况。参见 Google App Engine SSL Certificate Error .