2013-07-31 21 views
5

我使用python框架瓶與webserver龍捲風。這裏是我的init.py:通過HTTPS如何運行瓶+龍捲風+ ssl(https)+ spdy

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的服務器。


  • 它是更多鈔票使用SPDY與龍捲風?怎麼樣? (我發現TornadoSPDY GitHub上,但沒有解釋如何使用它)

任何幫助表示讚賞

回答

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()