【问题标题】:Unable to run an app locally on GAE behind proxy无法在代理后面的 GAE 上本地运行应用程序
【发布时间】:2014-03-10 12:31:24
【问题描述】:

我是使用 python 2.7 的 GAE 新手,我只是想从基础开始。所以我下载了一个应用程序,当我在线部署它时运行良好,但我无法在 dev_appserver 上本地运行该应用程序。我也在代理后面,所以我已经在 env 上设置了 http_proxy。服务器正常启动,但是当我打开 localhost:8080 时,它显示以下错误:

    HTTPError()
HTTPError()
Traceback (most recent call last):
  File "c:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsg
iserver\wsgiserver2.py", line 1302, in communicate
    req.respond()
  File "c:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsg
iserver\wsgiserver2.py", line 831, in respond
    self.server.gateway(self).respond()
  File "c:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsg
iserver\wsgiserver2.py", line 2115, in respond
    response = self.req.server.wsgi_app(self.env, self.start_response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\wsgi_server.py", line 269, in __call__
    return app(environ, start_response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\request_rewriter.py", line 311, in _rewriter_middleware
    response_body = iter(application(environ, wrapped_start_response))
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\python\request_handler.py", line 148, in __call__
    self._flush_logs(response.get('logs', []))
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\python\request_handler.py", line 284, in _flush_logs
    apiproxy_stub_map.MakeSyncCall('logservice', 'Flush', request, response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\api\apip
roxy_stub_map.py", line 94, in MakeSyncCall
    return stubmap.MakeSyncCall(service, call, request, response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\api\apip
roxy_stub_map.py", line 328, in MakeSyncCall
    rpc.CheckSuccess()
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\api\apip
roxy_rpc.py", line 156, in _WaitImpl
    self.request, self.response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remo
te_api\remote_api_stub.py", line 200, in MakeSyncCall
    self._MakeRealSyncCall(service, call, request, response)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remo
te_api\remote_api_stub.py", line 226, in _MakeRealSyncCall
    encoded_response = self._server.Send(self._path, encoded_request)
  File "c:\Program Files (x86)\Google\google_appengine\google\appengine\tools\ap
pengine_rpc.py", line 409, in Send
INFO     2014-03-10 17:40:07,645 module.py:612] default: "GET / HTTP/1.1" 500 -
    f = self.opener.open(req)
  File "C:\Python27\lib\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden
}

【问题讨论】:

  • 你在使用框架吗?
  • 您是否像这样运行它:python.exe "C:\Program Files\Google\google_appengine\dev_appserver.py" --port=8080 MyFolder,其中MyFolder 是一个文件夹,其中包含您的主要py 文件(带有WSGIApplication 实例的那个)?
  • 是的。我没有指定任何端口号,我想默认是 8080。@BurhanKhalid 不,我没有使用任何框架。

标签: google-app-engine python-2.7 web-deployment


【解决方案1】:

找到问题的解决方案。在本地部署应用程序引擎时,我设置了 http_proxy 环境变量。实际上,在本地测试时,需要禁用用于 appcfg 的代理设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2012-07-22
    • 2018-01-20
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多