当前位置:   article > 正文

python+flask 配置https网站ssl安全认证_flask ssl

flask ssl

 

目录

综述:

方法1:openssl

准备步骤

具体实施

方法2:阿里云或者宝塔免费申请(推荐)

步骤

1.准备步骤

阿里云

宝塔

python+flask子域名访问设置

1.给子域名添加DNS解析

2.子域名ssl证书申请

.代码修改


综述:

由于业务服务器需要对https协议进行支持,加上代码是python+flask所编写,因此需要去申请ssl的证书。有两种方式:自己使用openssl 命令配置、使用第三方免费的ssl证书。由于自己配置的证书有一定的不稳定性,可能造成不能被浏览器校验通过之类的情况。我个人比较倾向使用阿里云、宝塔的免费ssl认证。接下来,记录两种方式如何操作。并在最后,介绍怎么使用子域名访问网站


方法1:openssl

准备步骤

 pip install pyOpenSSL

具体实施

  1. # 生成私钥,按照提示填写内容
  2. openssl genrsa -des3 -out server.key 1024
  3. # 生成csr文件 ,按照提示填写内容
  4. openssl req -new -key server.key -out server.csr
  5. # Remove Passphrase from key
  6. cp server.key server.key.org
  7. openssl rsa -in server.key.org -out server.key
  8. # 生成crt文件,有效期1年(365天)
  9. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

执行完上述命令,将会生成server.crt和server.key文件。在flask代码中引用即可:

  1. from flask import Flask
  2. app = Flask(__name__)
  3. app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/server.crt', 'your_path/server.key'))

方法2:阿里云或者宝塔免费申请(推荐)

步骤

1.准备步骤

阿里云

控制台查找域名,如下图,慢慢找。开启证书后,下载下来。

证书内容,需要用到红框中的两个文件

加入到代码中

  1. from flask import Flask
  2. app = Flask(__name__)
  3. app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/XXXX.pem', 'your_path/XXXX.key'))

宝塔

这里,需要实名认证,也方便。需要将一个文件放在网站目录下进行验证,跟着操作来不会错,等所有操作结束,等待一会就可以下载证书了。

宝塔文件结构和阿里云文件结构相似,不再赘述。

python+flask子域名访问设置

1.给子域名添加DNS解析

很多平台都可以,不再说了

2.子域名ssl证书申请

详情见上述步骤

3.代码修改

  1. #coding:utf8
  2. #创建一个子域名
  3. from flask import Blueprint
  4. api = Blueprint('api',__name__,subdomain='api')
  5. # attention1: 原来是app.route('/')
  6. @api.route('/')
  7. def index():
  8. return u'这个是api的首页'
  9. @api.route("/login/")
  10. def login():
  11. return u'我是登录页面'
  12. if __name__="__main__":
  13. app = Flask(__name__)
  14. # attention2:你的以及域名,比如bbaidu.com
  15. app.config['SERVER_NAME'] ='bbaidu.com'
  16. app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/XXXX.pem', 'your_path/XXXX.key'))

一阵操作猛如虎,主要注意两个地方,代码中已经注释。主要是改变路由功能。

ok,现在就可以愉快的使用https://api.bbaidu.com/访问你的首页了

 

 

 

如果文章对您有帮助,打上一下呗!

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/439860
推荐阅读
相关标签
  

闽ICP备14008679号