我需要使用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
上。