如何运行瓶+龙卷风+ ssl(https)+ spdy

Mik*_*eLP 5 python ssl tornado bottle spdy

我正在使用带有webserver龙卷风的python框架瓶.这是我的init.py:

import bottle
import os

# Init application
bottle.run(host="127.0.0.1", app=app, port=int(os.environ.get("PORT", 5000)), server='tornado')
Run Code Online (Sandbox Code Playgroud)
  • 如何通过HTTPS建立连接?

我读了这篇文章 http://dgtool.blogspot.com/2011/12/ssl-encryption-in-python-bottle.html, 但它是关于CherryPy服务器的.


  • SPDY与Tornado一起使用是否可行?怎么样?(我在GitHub上找到了TornadoSPDY,但没有解释如何使用它)

任何帮助赞赏

Tra*_*hor 4

最好的选择是使用代理前端服务器,如 nginx、haproxy 或 apache。使用 ssl 配置tornado 的速度非常慢,它会减慢tornado 的速度,直到它完全没有响应,只有很少的访问。我已经到处寻找直接使用龙卷风在 ssl 流量中获得不错的速度,但没有找到任何。此外,使用前端服务器也不错。

但是通过使用 apache f.ex。作为前端代理,我接近本机非 SSL 速度。

但使用 ssl 配置tornado 很简单:

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()
Run Code Online (Sandbox Code Playgroud)