2013-12-17 232 views
2

我有一个关于龙卷风SSL配置的问题。我想处理HTTPS协议。我也阅读文档和stackoverflow相同的问题。我有一个SSL证书&关键文件。代码看起来像Tornado SSL证书

settings = dict(
    ... 
    ssl_options = { 
     "certfile": os.path.join("certs/myserver.crt"), 
     "keyfile": os.path.join("certs/myserver.key"), 
    }, 
    ... 
) 
def main(): 
    http_server = tornado.httpserver.HTTPServer(tornado.web.Application(handlers, 
        **settings)) 

    http_server.listen(443) 
    tornado.ioloop.IOLoop.instance().start() 

我启动我的应用程序后。我想从浏览器https://mydomain.com访问,但它不工作,没有发生任何事情,它给出了不成功的请求错误。我该怎么办? BTW http://mydomain.com:443正在工作。

回答

7

你是路过的设置tornado.web.Application()代替tornado.httpserver.HTTPServer

试试这个,

settings = dict(
    ... 
    ssl_options = { 
     "certfile": os.path.join("certs/myserver.crt"), 
     "keyfile": os.path.join("certs/myserver.key"), 
    }, 
    ... 
) 
def main(): 
    http_server = tornado.httpserver.HTTPServer(tornado.web.Application(handlers), 
        ssl_options = { 
    "certfile": os.path.join("certs/myserver.crt"), 
    "keyfile": os.path.join("certs/myserver.key"), 
}) 

    http_server.listen(443) 
    tornado.ioloop.IOLoop.instance().start() 

更新:

settings = dict(
    ... 
    ssl_options = { 
     "certfile": os.path.join("certs/myserver.crt"), 
     "keyfile": os.path.join("certs/myserver.key"), 
    }, 
    ... 
) 
def main(): 
    http_server = tornado.httpserver.HTTPServer(tornado.web.Application(handlers), **settings) 

    http_server.listen(443) 
    tornado.ioloop.IOLoop.instance().start() 
+1

Praveen感谢您的回答,但其他设置如何? – zi0408

+0

我已经更新了答案...尝试.. – Praveen

+0

在设置字典中有例如template_path的关键参数。现在龙卷风给TypeError:__init __()得到了一个意外的关键字参数'template_path'error – zi0408