搭建一个flask的helloworld并且使用自签证书用https访问他

搭建一个flask的helloworld并且使用自签证书用https访问他

一:搭建flask框架。简单,直接上代码(非常简单,不做任何讲解):

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello, World!'

  #0.0.0.0表示网络访问,127.0.0.1 表示只能本地回环访问
app.run('0.0.0.0', debug=True, port=5000)

二:使用flask自带的https

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello, World!'

  #0.0.0.0表示网络访问,127.0.0.1 表示只能本地回环访问
  #如果用flask自带的https则ssl_context 的值必须是adhoc
app.run('0.0.0.0', debug=True, port=5000, ssl_context='adhoc')

三:使用自签发证书

前提条件:
1:linux系统。
2:有openssl库
3:准备一个空文件夹
4:不要让别人找到你的私钥,一定要保密

开始:

①:mkdir ca #创建ca文件夹
②:openssl genrsa -des3 -out server.key 1024 创建私钥(输入一个密码,后续会用到)
搭建一个flask的helloworld并且使用自签证书用https访问他_第1张图片

③:openssl req -new -key server.key -out server.csr 创建csr,如果需要输入密码就输入
填写自己的国家,城市,区,公司,部门,域名(ip) 邮箱地址。
搭建一个flask的helloworld并且使用自签证书用https访问他_第2张图片
④:cp server.key server.key.org 输入一次就可以,我这里不小心多了一次搭建一个flask的helloworld并且使用自签证书用https访问他_第3张图片

⑤:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 签发证书。

搭建一个flask的helloworld并且使用自签证书用https访问他_第4张图片

⑥:在弄好证书之后,放到需要运行的服务器上。将ssl_context的值改成crt,key文件的路径


from flask import Flask

app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello, World!'
# 注意括号数量昂。 
app.run('0.0.0.0', debug=True, port=5000, ssl_context=(r'C:\Users\yanguanzhong\Downloads\server.crt',r'C:\Users\yanguanzhong\Downloads\server.key'))

搭建一个flask的helloworld并且使用自签证书用https访问他_第5张图片
ok,已经是https了,,如果再给浏览器添加上信任就能成绿色的锁了^ - ^

你可能感兴趣的:(部署,linux,运维,flask)