0

我打算使用remote_api_shell.py通過以下方式訪問我的Google App Engine應用程序的數據存儲區:使用remote_api_shell.py時出錯:ssl.SSLError:[Errno 8] _ssl.c:510:EOF違反協議

remote_api_shell.py -s url/of/server --secure 

,但我得到了以下錯誤:

Traceback (most recent call last): 
    File "./remote_api_shell.py", line 133, in <module> 
    run_file(__file__, globals()) 
    File "./remote_api_shell.py", line 129, in run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 160, in <module> 
    main(sys.argv) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 156, in main 
    oauth2=True) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 74, in remote_api_shell 
    secure=secure) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 768, in ConfigureRemoteApiForOAuth 
    rpc_server_factory=rpc_server_factory) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 835, in ConfigureRemoteApi 
    app_id = GetRemoteAppIdFromServer(server, path, rtok) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 569, in GetRemoteAppIdFromServer 
    response = server.Send(path, payload=None, **urlargs) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 245, in Send 
    url, method=method, body=payload, headers=headers) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/oauth2client/oauth2client/client.py", line 562, in new_request 
    redirections, connection_type) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2/__init__.py", line 1584, in request 
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2/__init__.py", line 1332, in _request 
    (response, content) = self._conn_request(conn, request_uri, method, body, headers) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2/__init__.py", line 1268, in _conn_request 
    conn.connect() 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2/__init__.py", line 1014, in connect 
    self.disable_ssl_certificate_validation, self.ca_certs) 
    File "/home/vagrant/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2/__init__.py", line 80, in _ssl_wrap_socket 
    cert_reqs=cert_reqs, ca_certs=ca_certs) 
    File "/usr/lib/python2.7/ssl.py", line 487, in wrap_socket 
    ciphers=ciphers) 
    File "/usr/lib/python2.7/ssl.py", line 243, in __init__ 
    self.do_handshake() 
    File "/usr/lib/python2.7/ssl.py", line 405, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLError: [Errno 8] _ssl.c:510: EOF occurred in violation of protocol 

任何幫助,將不勝感激。

回答

0

當我從使用我的自定義域名切換到my-app-id.appspot.com時,問題就消失了。

一些其他的考慮

  1. 如果您正在使用HTTPS,那麼your-app-id.appspot.com將無法​​工作開箱。您必須在對應於域名的Google Apps頁面上啓用它。是的,這意味着您實際上必須爲該網域設置Google Apps設置。
  2. 如果你有一個多模塊的設置,請確保您添加remote_api: on默認模塊app.yamlbuiltins部分。或者,如果您有另一個模塊的remote-api: on,則使用跳過dispatch.yaml文件並直接定位模塊的url。
相關問題