我想提供一个实时流,由于敏感数据必须对其进行安全加密。
我已经使用 gevent 和 Gunicorn 作为直接前端成功获得了正常的 WebSocket 流,但现在我需要确保其安全,并且正在寻找其中一个:
- 可以提供安全 WebSocket 连接的服务器,这些连接被代理到(例如)gunicorn,该枪监听非安全 WebSocket 连接。
- 可以直接提供安全 WebSocket 连接的框架。我一直在研究 Tornado 并相信它可以处理它,但我仍然愿意接受建议。
- 我将 ZeroMQ 用于 PUB/SUB 模式。如果 ZeroMQ 有一个好的 WebSocket 协议实现,那就太好了。
速度在这里并不是非常重要,因为连接数量会很少。然而,数据的完整性很重要。
假设您的应用程序在非 SSL Tornado WebSockets 上正确运行,请将监听调用更改为:
app.listen(args.listen_port, args.listen_interface)
to:
app.listen(args.listen_port, args.listen_interface, ssl_options={
"certfile": os.path.join(lib_dir, "mydomain.crt"),
"keyfile": os.path.join(lib_dir, "mydomain.key"),
})
其中“mydomain.crt”和“mydomain.key”是您常用的 SSL 证书文件,lib_dir 是它们所在的目录。
不要忘记更改客户端以使用“wss:”
另请注意,如果您指定 ssl_options,则仍将使用您在侦听调用中指定的端口。即它不会恢复监听端口 443。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)