搭建一个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 创建私钥(输入一个密码,后续会用到)
③:openssl req -new -key server.key -out server.csr 创建csr,如果需要输入密码就输入
填写自己的国家,城市,区,公司,部门,域名(ip) 邮箱地址。
④:cp server.key server.key.org 输入一次就可以,我这里不小心多了一次
⑤:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 签发证书。
⑥:在弄好证书之后,放到需要运行的服务器上。将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'))
ok,已经是https了,,如果再给浏览器添加上信任就能成绿色的锁了^ - ^