使用 SSL 公钥/私钥在 Windows 上为 Flask 应用程序提供服务

Mor*_*rey 10 python flask waitress sll

如何使用 waitress 运行使用 SSL 密钥的 Flask 应用程序。SSL 上下文在我的 Flask 的 run() 中指定,如下所示

                       app.run(ssl_context=('cert.pem', 'key.pem'))
Run Code Online (Sandbox Code Playgroud)

但是当使用 waitress 时,不会使用 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)
Run Code Online (Sandbox Code Playgroud)

小智 9

在当前版本 (1.4.3),Waitress 本身并不支持 TLS。

请参阅https://github.com/Pylons/waitress/blob/36240c88b1c292d293de25fecaae1f1d0ad9cc22/docs/reverse-proxy.rst中的 TLS 支持

您要么需要前面的反向代理来处理 tls/ssl 部分,要么使用另一个 WSGI 服务器(CherryPy、Tornado...)。