当前位置: 首页 > 知识库问答 >
问题:

Docker私有注册表:x509:由未知机构签署的证书

单于山
2023-03-14

我正在尝试设置一个私有docker注册表,由一个反向nginx代理保护,该代理通过客户端证书验证用户。

我得到的错误是:

x509:由未知机构签署的证书

根据文档,您应该能够将证书添加到/etc/docker/certs中。我已经这么做了。Docker似乎看到了证书的位置:

EBU[0015]呼叫POST/v1。24/图像/创建?fromImage=docker。矮人。组织/名册

我还尝试从mydomain重命名证书文件。org改为简单的“ca.crt”,调试日志再次显示它可以看到,但没有任何效果。

我可以这样使用curl:

curl——关键客户机。密钥——证书客户端。证书https://docker.squadwars.org/

我还可以在curl中添加--cacert选项,无论哪种方式都可以。

docker文档表示,如果仍然存在问题,应该在操作系统级别添加证书。我是按照指示这样做的:

(这可能就是为什么我不需要-cacert和curl,尽管我很困惑,因为我已经删除了证书,但curl仍然有效)

这快把我逼疯了,任何帮助都将不胜感激!

编辑:我忘了添加,最初我有证书的FQDN错误,但现在是'docker.squadwars.org'

共有3个答案

怀洛华
2023-03-14

我可以用两种不同的方法解决这个错误

a) 将OS DTR证书添加到TLS存储(推荐)
b)在docker中允许不安全的注册表,当与Ubuntu一起使用时,只需添加一个名为/etc/docker/daemon的文件。包含内容的json:

{
  "insecure-registries" : ["https://docker.squadwars.org"]
}

注意“.org”之后没有尾随“/”,这可能会导致docker失败。

然后通过systemd重新启动守护程序:

sudo systemctl docker restart
萧霍英
2023-03-14

在我的情况下,这里建议的任何方法都不起作用。
最终我发现我安装了一个安全客户端,它的作用就像“中间人”,并使用自己的证书重新签名所有流量。
为了解决它,我必须下载它的证书并将其安装在容器中:

Docker go image-无法go get-x509:由未知机构签署的证书

魏誉
2023-03-14

我首先创建了自己的证书颁发机构,实现了这一点,如下所述:

如何使用openssl创建自签名证书?

这里:

您如何与您的证书颁发机构签署证书签名请求?

我希望能给出一个更好的答案,但我遵循了这里的说明:

https://arcweb.co/securing-websites-nginx-and-client-side-certificate-authentication-linux/

但这对我不起作用。除了关于签署客户端密钥的部分。成功了。

 类似资料:
  • 我正在配置一个Kubernetes集群,在CoreOS中有2个节点,如中所述https://coreos.com/kubernetes/docs/latest/getting-started.html没有法兰绒。两台服务器都在同一个网络中。 但在worker中运行kubelet时,我得到了:x509:未知授权机构签署的证书(可能是因为尝试验证候选授权机构证书“kube ca”时出现了“crypto

  • 我试图从Web请求数据的一些基本示例,但是所有对不同主机的请求都会导致SSL错误:。注意:我不支持代理,也没有发生任何形式的证书拦截,因为使用curl或浏览器没有问题。 我目前使用的代码示例是: 编辑:代码运行在Arch linux内核4.9.37-1-lts上。 编辑2:显然在我的系统上的版本之间有差异,通过(重新)移动证书并重新手动安装包,问题得到了解决。

  • 在https://kubernetes.io/blog/2019/03/15/kubernetes-setup-using-ansible-and-vagrant/之后,试图在苹果电脑上使用流浪者来设置库伯内特斯。通过安西珀剧本步骤: 我收到错误: 致命:[k8s-master]:失败!= 因此,我尝试手动运行Kubeadm init命令: 我用--ignore preflight errors

  • 我正在使用Go包来查询pzug。应用程序的容器化如下: 但是,我得到以下错误: 我已经尝试过这里建议的x509证书,该证书由未知的权威机构签署,但运气不佳。有什么想法吗?

  • 我正在使用和创建。我正在使用该公司的VPN。 通过kubectl create-f./rc/mongo-rc.yaml命令创建了RC。 使用kubectl describe pod mongo-5zttk命令时出现以下kubernetes事件: 当我尝试使用访问网址时: 我可以成功地从泊坞中心注册表中提取 映像。 环境信息: minikube版本:v1.14.1 kubectl 客户端版本:v1.

  • 在我的Go应用程序中,我打电话到 这取决于环境,在本地将在http上,而在生产环境中,它将在 当我使用postman在https上测试生产路由时,没有问题,路由工作正常。 但是当我从WS运行它时,我得到: 这是我的代码: 我能做些什么来解决这个问题?