gpt4 book ai didi

带有 ssl 的 Python Gevent Pywsgi 服务器

转载 作者:太空狗 更新时间:2023-10-30 02:26:44 25 4
gpt4 key购买 nike

我正在尝试使用 gevent.pywsgi.WSGIServer 来包装 Flask 应用程序。一切正常,但是,当我尝试为 ssl 添加 key 和证书时,它甚至无法再接受任何客户端。

这是一个抛出错误的简单示例:

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()

这是错误的堆栈跟踪:

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 702, in
wrap_socket
ciphers=ciphers)
File "C:\Python27\lib\site-packages\gevent\_sslgte279.py", line 270, in
__init__
raise x
SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:661)
Mon May 15 22:10:19 2017 <Greenlet at 0x29da440:
_handle_and_close_when_done(<bound method WSGIServer.wrap_socket_and_handle
of, <bound method WSGIServer.do_close of <WSGIServer a, (<socket at
0x29f8190 fileno=[Errno 9] Bad file de)> failed with SSLError

我正在使用 Python 2.7.13 和 gevent 1.2.1

重要的是,证书和 key 都是我生成的。

最佳答案

我发现问题是由客户端发送常规 HTTP 请求而不是 HTTPS 引起的。我只需要在浏览器中明确使用 https:// URL。

关于带有 ssl 的 Python Gevent Pywsgi 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com