Ihre beste Wette einen Proxy-Front-End-Server wie nginx zu verwenden wäre, haproxy oder Apache. Die Konfiguration von Tornado mit SSL ist extrem langsam und verlangsamt den Tornado auf einen Crawl-Vorgang, bis er mit minimalen Zugriffen nicht mehr reagiert. Ich habe überall nach einer anständigen Geschwindigkeit im SSL-Verkehr gesucht, die Tornado direkt verwendet, aber ich habe keine gefunden. Außerdem ist es nicht schlecht, einen Front-End-Server zu verwenden.
Aber mit Apache f.ex. Als Front-End-Proxy bin ich nah an nativen Nicht-SSL-Geschwindigkeiten angelangt.
Aber Tornado mit ssl zu konfigurieren, ist einfach:
def main():
handlers = [
(r"/", HomeHandler),
]
settings = dict(
blog_title=u"Tornado Blog",
template_path=os.path.join(os.path.dirname(__file__), "templates"),
static_path=os.path.join(os.path.dirname(__file__), "static"),
cookie_secret="__TODO:_GENERATE_YOUR_OWN_RANDOM_VALUE_HERE__",
debug=True,
certfile = os.path.join("certs/server.crt"),
keyfile = os.path.join("certs/server.key"),
ssl_options = {
"certfile" : os.path.join("certs/server.crt"),
"keyfile" : os.path.join("certs/server.key"),
},
)
tornado.options.parse_command_line()
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
main()