gpt4 book ai didi

https - 如何在 Tornado 中使用 HTTPS 协议(protocol)处理请求?

转载 作者:行者123 更新时间:2023-12-04 03:12:27 25 4
gpt4 key购买 nike

我是 Tornado 的新手。我从这样的“Hello World”代码开始学习:

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

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

application = tornado.web.Application([
(r"/", HelloHandler)
])

http_server = tornado.httpserver.HTTPServer(application)

if __name__ == "__main__":
http_server.listen(80)
# http_server.listen(443)
tornado.ioloop.IOLoop.instance().start()

当我在浏览器中输入“http://localhost”时,它可以工作并打印
"Hello, world!"

但是如果我尝试了请求“https://localhost”,它会返回:
Error 102 (net::ERR_CONNECTION_REFUSED): The server refused the connection.

网上关于Tornado的文档太少了,谁能告诉我如何处理Https协议(protocol)请求?

最佳答案

根据 tornado.httpserver documentation ,需要通过ssl_options将字典参数传递给其构造函数,然后绑定(bind)到 HTTPS 端口 (443):

http_server = tornado.httpserver.HTTPServer(applicaton, ssl_options={
"certfile": os.path.join(data_dir, "mydomain.crt"),
"keyfile": os.path.join(data_dir, "mydomain.key"),
})

http_server.listen(443)
mydomain.crt应该是您的 SSL 证书,并且 mydomain.key您的 SSL 私钥。

关于https - 如何在 Tornado 中使用 HTTPS 协议(protocol)处理请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471115/

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