本次主要是记述使用https去访问Flask后端接口。最初的时候仅仅使用普通的Flask部署后端,只能实现IP+port的简单访问,但是对应https访问以及使用域名访问都不能够实现,于是在网上寻找解决办法,现在记下,为以后方便翻阅。
(留有笔记使用,新手上路,请多关照。)
# pip install Flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
# 如果是在服务器端运行,建议还是加上Ip
# app.run(host = '10.0.24.11') # 这里的10.0.24.11是购买的服务器的内外IP,可以通过公网IP+端口访问
能够使用IP+port,但是域名+port不行
这里的liuserver.top_nginx是SSL证书存在的文件夹,需要以.crt(好像.pem也行)和.key为后缀的文件(注意传入顺序不要反,先.crt后.key):
ssl_context = ("liuserver.top_nginx/liuserver.top_bundle.crt", "liuserver.top_nginx/liuserver.top.key") # 不要反,传入顺序反了,就回出现错误。
'''
使用之前需要安装pyOpenSSL:
pip install pyOpenSSL
'''
# pip install Flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(ssl_context = ("liuserver.top_nginx/liuserver.top_bundle.crt", "liuserver.top_nginx/liuserver.top.key"))
# 如果是在服务器端运行,建议还是加上Ip
# 这里的10.0.24.11是购买的服务器的内网IP,可以通过公网IP+端口访问
# app.run(host = '10.0.24.11', ssl_context = ("liuserver.top_nginx/liuserver.top_bundle.crt", "liuserver.top_nginx/liuserver.top.key"))
能使用域名访问(https://域名:port),但是此时无法使用IP+port访问。