How do I run my Flask app which uses SSL keys using waitress. The SSL context is specified in my Flask's run() as in
app.run(ssl_context=('cert.pem', 'key.pem'))
But app.run() is not used when using waitress as in the code below. So, where do I specify the keys? Thanks for the help.
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)
At the current version (1.4.3), Waitress does not natively support TLS.
See TLS support in https://github.com/Pylons/waitress/blob/36240c88b1c292d293de25fecaae1f1d0ad9cc22/docs/reverse-proxy.rst
You either need a reverse proxy in front to handle the tls/ssl part, or use another WSGI server (CherryPy, Tornado...).