首页 > 解决方案 > 使用 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)

标签: pythonflaskwaitresssll

解决方案


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

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

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


推荐阅读