flask、tornado http2如何支持

问题描述 投票:0回答:1

flask和tornado如何在python3中同时支持http1.1和http2? 哪个库比较推荐?

import tornado.httpserver
import tornado.ioloop
import tornado.web

from tornado.options import options

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")

if __name__ == "__main__":
app = tornado.web.Application(\[(r"/", MainHandler)\])
server = tornado.httpserver.HTTPServer(app, ssl_options={
"certfile": "/path/to/your/certificate.crt",
"keyfile": "/path/to/your/private.key",
"ssl_version": options.ssl_options.ssl_version,
"ciphers": options.ssl_options.ciphers,
"alpn_protocols": \["h2", "http/1.1"\]
})
server.listen(443)
tornado.ioloop.IOLoop.current().start()

# AttributeError: Unrecognized option 'ssl-options'. Did you mean: '\_options'?
python-3.x
1个回答
0
投票

我会推荐夸脱而不是龙卷风,因为夸脱和烧瓶效果很好。 Quart通过hypercon asgi服务器支持h2协议。要实现此功能,您必须在 httpx 的帮助下创建自己的反向代理,这将是完美的。或者您可以利用 nginx 并在 nginx 之上启用 h2 协议。请记住,您必须启用 https 上的 ssl 才能使事情成为可能。

© www.soinside.com 2019 - 2024. All rights reserved.