python - 使用 SSL 公钥/私钥在 Windows 上为 Flask 应用程序提供服务员
问题描述
如何使用服务员运行使用 SSL 密钥的 Flask 应用程序。SSL 上下文在我的 Flask 的 run() 中指定,如
app.run(ssl_context=('cert.pem', 'key.pem'))
但是 app.run() 在使用 waitress 时不使用,如下面的代码所示。那么,我在哪里指定密钥?谢谢您的帮助。
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == '__main__':
# app.run(ssl_context=('../cert.pem', '../key.pem'))
from waitress import serve
serve(app, host="0.0.0.0", port=5000)
解决方案
在当前版本 (1.4.3) 中,Waitress 本身并不支持 TLS。
请参阅https://github.com/Pylons/waitress/blob/36240c88b1c292d293de25fecaae1f1d0ad9cc22/docs/reverse-proxy.rst中的 TLS 支持
您要么需要一个反向代理来处理 tls/ssl 部分,要么使用另一个 WSGI 服务器(CherryPy、Tornado ...)。