tornadoでHTTPSのウェブページを作ってみた。

かなり久しぶりの更新です。。
サボり気味だったので一応生存確認と言う事で今回もtornadoの記事です。
せっかくtornadoを使ってWebページを公開するところまでやったので
最低限のHTTPSの実装もやってみました。

以下その時の覚書です。

事前準備

オレオレ証明書の作成

HTTPSの実装で必要不可欠である証明書の類のものを準備します。
準備はとっても簡単、下記コマンドを打つだけでOK。

$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt

tornadoスクリプトHTTPS仕様にする

tornadoの公式に落ちているコードをHTTPS仕様にしてみました。
※一部抜粋

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(make_app, ssl_options={
        <b>"certfile":"server.crt"</b>,
        <b>"keyfile":"server.key"</b>,
    })
    http_server.listen(<b>8443</b>)

import tornado.httpserver
import tornado.ioloop
import tornado.web
全体のコード
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("../static/test.html")

make_app=tornado.web.Application([
        (r"/", MainHandler),])

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(make_app, ssl_options={
        "certfile":"server.crt",
        "keyfile":"server.key",
    })

    http_server.listen(8443)
tornado.ioloop.IOLoop.current().start()

以上でtornadoでのHTTPS実装でした。