如何使用 ssl 启动 flask_socketio 应用程序?
Posted
技术标签:
【中文标题】如何使用 ssl 启动 flask_socketio 应用程序?【英文标题】:how to start flask_socketio app with ssl? 【发布时间】: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)
但是,我不知道如何将证书传递给此调用。 我该怎么做才能完成这项工作?
【问题讨论】:
【参考方案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'
以上是关于如何使用 ssl 启动 flask_socketio 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何设置启动SMTPPOP3以及IMAP4的SSL服务端口?