【问题标题】:how to start flask_socketio app with ssl?如何使用 ssl 启动 flask_socketio 应用程序?
【发布时间】:2020-09-21 23:37:39
【问题描述】:

我应该如何使用 SSL 将 app.run() 转换为 sockio.run()?

我有下面的应用程序启动代码与烧瓶开发服务器一起运行

if __name__=='__main__':
    app.run(ssl_context=(ssl_cert, ssl_key))

我现在正在尝试使用下面的 socketio 启动它

if __name__=='__main__':
    socketio.run(app, host='0.0.0.0', port=80, debug=True)

但是,我不知道如何将证书传递给此调用。
我该怎么做才能完成这项工作?

【问题讨论】:

    标签: python flask socket.io flask-socketio eventlet


    【解决方案1】:

    我遇到了同样的问题。这相当于对我有用。

    if __name__ == '__main__':
        socketio.run(app, host="0.0.0.0", port="80", debug=True, ssl_context=('cert.pem', 'key.pem'))
    

    由于某种原因,在我的 Angular 应用程序能够访问烧瓶 socketio https 服务器之前,我必须在 Web 浏览器中手动输入服务器地址(即 https://127.0.0.1:5000/),但我认为这是我需要的客户端问题锻炼。

    【讨论】:

      【解决方案2】:

      老问题,但无论如何我都会给出答案。试试这样的:

      if __name__=='__main__':
          socketio.run(app, host='0.0.0.0', port=80, debug=True, keyfile='key.pem', certfile='cert.pem')
      

      【讨论】:

      • 这对我不起作用TypeError: run_simple() got an unexpected keyword argument 'keyfile'
      猜你喜欢
      • 1970-01-01
      • 2018-07-23
      • 2012-11-10
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多