我试图用gevent.pywsgi.WSGIServer
包装Flask应用程序。一切正常,但是,当我尝试为ssl添加密钥和证书时,它甚至无法再接受任何客户端。
这是一个引发错误的简单示例:
from gevent.pywsgi import WSGIServer
from flask import Flask
app = Flask(__name__)
app.debug = True
@app.route('/')
def index():
"""
Renders the homepage.
"""
return render_template('index.html')
if __name__ == "__main__":
app.config["SECRET_KEY"] = "ITSASECRET"
http_server = WSGIServer(('localhost', 5000), app, keyfile='key.pem',
certfile='cert.pem')
http_server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
这是错误的堆栈跟踪:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\gevent\greenlet.py", line 536, in run
result = self._run(*self.args, **self.kwargs)
File "C:\Python27\lib\site-packages\gevent\baseserver.py", line 26, in
_handle_and_close_when_done
return handle(*args_tuple)
File "C:\Python27\lib\site-packages\gevent\server.py", line 173, in
wrap_socket_and_handle
ssl_socket = self.wrap_socket(client_socket, **self.ssl_args)
File "C:\Python27\lib\site-packages\gevent\_sslgte279.py", line …
Run Code Online (Sandbox Code Playgroud)