我正在使用带有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')
我读过这篇文章 http://dgtool.blogspot.com/2011/12/ssl-encryption-in-python-bottle.html 但它是关于CherryPy服务器的。
任何帮助表示赞赏
答案 0 :(得分:4)
您最好的选择是使用代理前端服务器,如nginx,haproxy或apache。使用ssl配置龙卷风非常缓慢,它会使龙卷风减速到爬行,直到它完全没有响应,只需极少的访问。我已经到处寻找直接使用龙卷风获得ssl流量的合适速度,但没有找到任何。此外,使用前端服务器还不错。
但是使用apache f.ex.作为前端代理,我接近本机非ssl速度。
但是用ssl配置龙卷风很简单:
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()