问题

问题

我目前正在实施私有 Docker Registry 服务器,nginx配置为https安全地将流量转发到正在运行的 Docker Registry(即docker-compose)实例在专用网络上(配置了 DNS、DHCP)。

我已经完成了所有设置,但必须创建自签名证书因为我不被允许使用“让我们加密”(硬性要求)。我已将文件部署.crt/usr/local/share/ca-certificates我网络上的所有 Ubuntu 主机上,并更新了证书存储(即通过sudo update-ca-certificates -f)。

但是,即使证书是“受信任的”(根据上面的步骤),该证书仍然注册为“自签名”,并且让 Docker Registry 完全运行的唯一方法是创建一个文件,,/etc/docker/daemon.json内容如下(假设我的 Docker Registry 实例正在registry我的域上的主机上运行lan):

{
  "insecure-registries" : [ "registry.lan:5000" ]
}

这会导致某些功能中断(即,如果启用“不安全的注册表”,某些插件将无法工作)。


问题

我如何配置我的私人网络(即假设它大多数时候甚至没有连接到互联网),以便网络上的所有机器都“完全信任”该证书(即该证书在本地网络上的主机之间“公开信任”)?即我可以运行什么命令或可以调整什么配置文件?

这似乎是一个可能的解决方案:在我的私人网络上创建一个 CA plus 服务器密钥。

谢谢。

答案1

使用您信任的证书颁发机构来签署 x509 证书。

将生成的证书及其密钥放在终止 TLS 的 Web 服务器上。

使用 CA 签名证书并不意味着使用 Let's Encrypt;反之亦然。可以使用其他 PKI,由您的组织运行(这是一个需要认真完成的项目),也可以不运行。

相关内容