使用Flask应用程序提供多个SSL证书

时间:2019-01-23 21:36:31

标签: python flask

我需要使用Flask上的本地服务器为多个子域提供服务,每个子域都有自己的证书。这个想法是:a)我选择一个随机子域(一个伪造的子域)b)使用127.0.0.1文件将请求定向到该子域到/etc/hosts c)提供新证书(这是自d)访问该站点时,将使用本地HTTPS烧瓶服务器为每个子域在本地创建的签名证书d)访问该子域的特定证书。那是可行的吗?目前,我有一个简单的flask应用程序,可针对单个域执行此操作:

 import ssl
 import os
 from flask import Flask
 from flask import render_template
 from flask import request
 from sqlalchemy import exc
 from flask_sqlalchemy import SQLAlchemy

 context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
 context.load_cert_chain('dummydomain.com.crt', 'dummydomain.com.key')
 app = Flask(__name__)

 @app.route("/", methods=["GET", "POST"])

 def home():
    return render_template("index.html")

 if __name__ == "__main__":
    app.run(debug=True, ssl_context=context, host='127.0.0.1', port='443')

但是我不确定如何对多个域执行此操作。我可能会创建多个flask应用程序,并更改本地回送地址以使用127.0.0.x地址,但是我不确定这是否可行。很好奇是否还有其他方法可以做到这一点。也许更改端口也可能可行。

编辑:不确定为什么将其标记为重复问题,原因是所引用的答案与在生产环境中运行Flask有关,而该问题与能够使用多个域提供多个证书特别相关在localhost上。

0 个答案:

没有答案