美文网首页
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