Обслуживание приложения Flask с официанткой на окнах с использованием открытого / закрытого ключа SSL
Как запустить приложение Flask, использующее ключи SSL, с помощью официантки. Контекст SSL указан в моем Flask run(), как в
app.run(ssl_context=('cert.pem', 'key.pem'))
Но app.run() не используется при использовании официантки, как в приведенном ниже коде. Итак, где мне указать ключи? Спасибо за помощь.
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 ответ
Решение
В текущей версии (1.4.3) Waitress не поддерживает TLS.
См. Поддержку TLS на https://github.com/Pylons/waitress/blob/36240c88b1c292d293de25fecaae1f1d0ad9cc22/docs/reverse-proxy.rst
Вам либо нужен обратный прокси-сервер для обработки части tls / ssl, либо используйте другой сервер WSGI (CherryPy, Tornado...).