【发布时间】:2020-05-31 10:36:19
【问题描述】:
我正在关注this 教程,并将 Celery-background 相关代码调整到我的项目中。
在我的情况下,我在 Docker 环境中运行,并且我有一个需要安全 ssl 通信的安全站点(即https://localhost)。
here 中的文档显示了如何提供证书相关文件(keyfile、certfile、ca_certs)的示例。
但我不清楚如何首先创建这些文件。
here 中的教程展示了如何创建自定义证书颁发机构,以及如何使用它签署证书。
我按照步骤创建了 3 个文件:
- keyfile - dev.mergebot.com.crt - 签名证书(由 myCA.pem 签名)
- ca_certs - dev.mergebot.com.key - 使用“自信任 CA”创建签名证书的私钥
- certfile - myCA.pem - “自信任 CA” 证书(教程中的文件名:myCA.pem)
请注意,我创建的这 3 个文件完全与 Celery、Redis 或 Docker 无关。 它们是在我在 Docker 之外的本地机器上创建的。这些文件没有 Redis 容器的名称,并且证书中的 Common Name 设置为“foo”
当我在我的 web 应用程序中使用这些文件时,没有从 Celery 到 Redis 的连接。
如果没有 ssl,我确实可以建立连接,因此除了 ssl 之外的整体环境还可以 - 请参阅 here
创建证书相关文件有什么具体要求吗? (例如,证书中的通用名称是否应该具有容器名称“redis”等...)
有没有办法在没有应用程序的情况下测试证书的有效性,例如通过从容器外壳发出命令?
谢谢
【问题讨论】: