Mun*_*nkh 2 python ssl openssl nginx tornado
我对龙卷风SSL配置有疑问.我想处理HTTPS协议.我还阅读了docs和stackoverflow相同的问题.我有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()
Run Code Online (Sandbox Code Playgroud)
我开始我的应用程序后.我想从浏览器https://mydomain.com访问,但它不工作,没有任何反应,它给出了不成功的请求错误.我该怎么办?BTW http://mydomain.com:443正在运作.
您将设置传递给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()
Run Code Online (Sandbox Code Playgroud)
更新:
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()
Run Code Online (Sandbox Code Playgroud)