美文网首页
Flask之九:Flask启用SSL加密传输

Flask之九:Flask启用SSL加密传输

作者: 奇奇乌布里 | 来源:发表于2020-04-25 00:53 被阅读0次

    主要步骤

    • 第一步:生成服务器保管的私钥和发给客户端的证书(公钥)
    • 第二笔:配置Flask开启ssl访问模式

    生成私钥和证书

    这种要简单一些,比《openssl生成自签名证书(完整版)》那种生成自签名的方法。

    1.生成网站私钥(server.key)

    # 生成1024位的密钥
    openssl> genrsa -des3 -out server.key 1024  # 要输入密码123456
    
    # 去除私钥的密码,不然启动网站时要喊输入一道
    openssl> rsa -in server.key -out server.key
    

    2.生成证书签名请求(server.csr)

    openssl> req -new -key server.key -out server.csr
    # 需要输入一堆注册信息,可以都不填一路回车
    

    3.生成证书(server.crt)

    # 有效期设为3年
    openssl> x509 -days 1095 -req -in server.csr -signkey server.key -out server.crt
    

    配置Flask以开启ssl访问

    1. 要把server.crtserver.key上传到网站目录里去
    2. 修改flask启动部分的参数, 添加私钥和证书文件
    # 配置ssl证书文件文件
    ssl_keys = ('sslkey/server.crt', 'sslkey/server.key')
    
    # 修改启动参数,增加 ssl_context=ssl_keys 即可
    app.run(debug='True', port='8080', host='0.0.0.0', ssl_context=ssl_keys)
    
    • Flask启用ssl后,就必须用https://访问了,浏览器还会提示证书未经认证不安全, 确认是否要继续访问
    • 不能用两个app.run()来启动一个https协议和一个http协议, 因为第一次运行.run()了以后再运行一次就会提示内存地址已经被使用

    相关文章

      网友评论

          本文标题:Flask之九:Flask启用SSL加密传输

          本文链接:https://www.haomeiwen.com/subject/lpicwhtx.html