本地運行,我開始了有同樣的問題在this question。作爲答案之一,可以通過讓應用程序運行而不使用SSL來避免該特定問題。但是,如Facebook設置爲強制執行在短短的幾天內(2011年10月1日)的應用程序的https這似乎是不會持久的解決方案。我第一次嘗試啓用SSL在app.run(大約149線在exampleapp.py
像這樣:問題越來越Heroku的示例應用程序的Python與SSL
app.run(host='0.0.0.0', port=port, ssl_context='adhoc')
在第一次嘗試失敗了,在開始抱怨缺少OpenSSL的模塊上找到如何解決一些建議。嘗試訪問應用程序時
(myapp)$ foreman start
10:35:25 web.1 | started with pid 26934
10:35:26 web.1 | * Running on https://0.0.0.0:5000/
10:35:26 web.1 | * Restarting with reloader
但後來:那在那裏上了網,並選擇做:
(myapp)$ pip install pyopenssl
現在沒有在啓動投訴
10:35:31 web.1 | ----------------------------------------
10:35:31 web.1 | Exception happened during processing of request from ('127.0.0.1', 61118)
10:35:31 web.1 | Traceback (most recent call last):
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
10:35:31 web.1 | self.process_request(request, client_address)
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 310, in process_request
10:35:31 web.1 | self.finish_request(request, client_address)
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 323, in finish_request
10:35:31 web.1 | self.RequestHandlerClass(request, client_address, self)
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 639, in __init__
10:35:31 web.1 | self.handle()
10:35:31 web.1 | File "path_to_myapp/lib/python2.7/site-packages/werkzeug/serving.py", line 189, in handle
10:35:31 web.1 | return rv
10:35:31 web.1 | UnboundLocalError: local variable 'rv' referenced before assignment
10:35:31 web.1 | ----------------------------------------
10:35:31 web.1 | Unhandled exception in thread started by <function inner at 0x10139e050>
10:35:31 web.1 | Traceback (most recent call last):
10:35:31 web.1 | File "path_to_myapp/lib/python2.7/site-packages/werkzeug/serving.py", line 599, in inner
10:35:31 web.1 | passthrough_errors, ssl_context).serve_forever()
10:35:31 web.1 | File "path_to_myapp/lib/python2.7/site-packages/werkzeug/serving.py", line 355, in serve_forever
10:35:31 web.1 | HTTPServer.serve_forever(self)
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 227, in serve_forever
10:35:31 web.1 | self._handle_request_noblock()
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 287, in _handle_request_noblock
10:35:31 web.1 | self.shutdown_request(request)
10:35:31 web.1 | File "/usr/local/Cellar/python/2.7.1/lib/python2.7/SocketServer.py", line 459, in shutdown_request
10:35:31 web.1 | request.shutdown(socket.SHUT_WR)
10:35:31 web.1 | TypeError: shutdown() takes exactly 0 arguments (1 given)
該怎麼辦?這是錯誤的Python版本還是隻是我誤解了其他一些基本的東西?