为 sahara-api 提供 HTTPS 支持¶
https://blueprints.launchpad.net/sahara/+spec/sahara-support-https
大多数 OpenStack 服务都支持运行支持 HTTPS 连接的服务器。Sahara 也必须支持这种方式。
问题描述¶
有两种常见的方法可以为 OpenStack 服务启用 HTTPS
TLS 代理。代理通过 HTTPS 与用户通信,并将所有请求通过不安全的 HTTP 重定向到服务。Keystone 被配置为指向 HTTPS 端口。内部端口通常使用防火墙关闭对外访问。服务侧无需额外工作即可支持 HTTPS。
原生支持。服务可以配置为期望 HTTPS 连接。在这种情况下,服务本身处理所有安全方面。
大多数 OpenStack 服务都支持两种类型的 SSL 启用方式。目前,Sahara 只能使用 TLS 代理进行保护。
提议的变更¶
添加 Sahara API 监听 HTTPS 端口的能力。
目前,OpenStack 服务与 HTTPS 交互没有统一的方式。oslo-incubator 中的 sslutils 模块启动了统一化的过程。Sahara 可以使用此模块与其他服务保持一致。
替代方案¶
从其他 OpenStack 项目复制粘贴 SSL 相关代码。
数据模型影响¶
无
REST API 影响¶
无
其他最终用户影响¶
python-saharaclient 应该支持 SSL 相关选项
部署者影响¶
还有另一个需要考虑的选项。
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
添加 SSL 相关参数传递给 python 客户端。
实现¶
负责人¶
- 主要负责人
alazarev (Andrew Lazarev)
- 其他贡献者
无
工作项¶
在 Sahara 中实现该功能
导入 sslutils
配置 WSGI 服务器为 HTTPS
为 python-saharaclient 添加支持
为 devstack 添加支持
添加文档
依赖项¶
oslo-incubator 中的 sslutils 模块
测试¶
目前 devstack 没有 HTTPS 测试。看起来手动测试是唯一的选择。
文档影响¶
需要进行文档说明。
参考资料¶
无