tornado配置Let's Encrypt永久免费SSL证书

Let's Encrypt简介

https的普及,证书显得非常重要了。Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

步骤

一、申请证书

#获取letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
#进入letsencrypt目录
cd letsencrypt
#生成证书
./letsencrypt-auto certonly --standalone --email [email protected] -d example.com -d www.example.com
在完成Let's Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/example.me/"域名目录下有4个文件就是生成的密钥证书文件。

cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

我们需要用到fullchain.pem和privkey.pem

二、tronado 加载ssl

import tornado.ioloop
import tornado.web
import os

class TestGetHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, World!")

def make_app():
    return tornado.web.Application([
        (r"/", TestGetHandler),
    ])

if __name__ == "__main__":
    application = make_app()
    http_server = tornado.httpserver.HTTPServer(application, ssl_options={
           "certfile": os.path.join(os.path.abspath("."), "server.crt"),
           "keyfile": os.path.join(os.path.abspath("."), "server.key"),
    })
    http_server.listen(443)
    tornado.ioloop.IOLoop.instance().start()

nginx配置

 ssl_certificate /etc/letsencrypt/live/zhaoheqiang.me/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/zhaoheqiang.me/privkey.pem;

你可能感兴趣的:(tornado配置Let's Encrypt永久免费SSL证书)