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

Docker: TLS握手超时

蒋英博
2023-03-14

我已经创建了自己的私有注册表(私有注册表),但我无法将图像推送到它。比我得到以下错误:

The push refers to a repository [private-registry:5000/ubuntu] (len: 1)
unable to ping registry endpoint https://private-registry:5000/v0/
v2 ping attempt failed with error: Get https://private-registry:5000/v2/: net/http: TLS handshake timeout
 v1 ping attempt failed with error: Get https://private-registry:5000/v1/_ping: net/http: TLS handshake timeout

正在运行的注册表的日志显示以下内容:

time="2015-12-14T07:59:21Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="redis not configured" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="listening on [::]:5000, tls" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="Starting upload purge in 47m0s" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 

我无法卷曲我的注册表(超时)。以下是我执行的步骤:

首先,我创建了自签名证书:

mkdir -p certs && openssl req \
  -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
  -x509 -days 365 -out certs/domain.crt

我已创建注册表,它将使用以下证书:

docker run -d -p 5000:5000 --restart=always --name private-registry \
  -v `pwd`/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=certs/domain.key \
  registry:2

我授予了正确的权限:

chcon -Rt svirt_sandbox_file_t ~certs/

我创建了:/etc/docker/etc.d/private registry:5000/,并复制了我的域。crt在它里面。我编辑了我的/etc/hosts并添加了:10.0。0.X私有注册表(我的内部ip和注册表名)

我还重新启动了docker和我的注册表。

编辑:

[centos@ ~]$ curl -v private-registry:5000
* About to connect() to private-registry port 5000 (#0)
*   Trying 10.0.0.xx...
* Connected to private-registry (10.0.0.xx) port 5000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: private-registry:5000
> Accept: */*
> 

* Connection #0 to host private-registry left intact
[centos@~]$ curl -v https://private-registry:5000
* About to connect() to private-registry port 5000 (#0)
*   Trying 10.0.0.xx...
* Connected to private-registry (10.0.0.xx) port 5000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
      CApath: none
    * NSS error -5990 (PR_IO_TIMEOUT_ERROR)
* I/O operation timed out
* Closing connection 0
curl: (35) I/O operation timed out

共有1个答案

唐珂
2023-03-14

您可能需要将证书放入此目录中。

    /etc/docker/certs.d/private-registry.com:5000/ca.crt
 类似资料:
  • 要破解WPA密钥,首先我们要捕获握手。使用,将以与在WEP加密网络中使用它相同的方式捕获握手。使用以下命令捕获周围的所有网络: 下面我们将对javaT网络运行,其中为。指定参数,数字,然后添加将捕获的所有数据包存储到文件中,然后将无线网卡包含在监控模式下,即。命令如下: 一旦启动此命令,我们将拥有WPA加密网络,并且将客户端连接到网络。 我们可以通过两种方式捕获握手。首先,等待设备连接到网络。一旦

  • 在WPA中,使用唯一的临时密钥对每个数据包进行加密。它不像WEP,重复IV,我们收集大量具有相同IV的数据包。在每个WPA数据包中,都有一个唯一的临时IV,即使收集了100万个数据包,这些数据包也不会对我们有用。这些数据包不包含任何可以帮助我们确定实际WPA密钥的信息。 包含有用信息并帮助我们确定密钥的唯一数据包是握手数据包。这些是四个数据包,当新设备连接到目标网络时,将发送这些数据包。例如,假设

  • 需要你的帮助吗 这总是返回:I`try:it并使用这个lib并执行它,但对我来说没有任何效果。。所以,请帮帮我。 更新:在Python2.7中,使用以下请求: 但我需要用围棋( UPD:修正:只需复制到并添加。

  • 我最近从AWS ELB转到HAProxy。我正在负载平衡器(HAProxy 1.5dev19)上终止SSL。 自从切换以来,我一直在HAProxy日志中遇到一些SSL连接错误(占请求总数的5-10%)。有三种类型的错误重复:SSL握手期间连接关闭SSL握手期间超时SSL握手失败(这种情况很少发生) 我使用的是免费的StartSSL证书,所以我的第一个想法是一些主机在接受该证书时遇到了问题,我过去没

  • 问题内容: 我正在使用和大多数查询。加工。一些查询不起作用。我尝试了Node的每个版本(从0.5 …到(5.6.0),也尝试了(4.0)和(4.1),没有任何帮助。 我试图按性别进行更改,但没有工作。我试图将文件更改为:并没有帮助。 我阅读了这些问题和GitHub,但没有任何帮助。 我可以尝试自己修复它,但是我需要更多信息。超时在哪里,为什么?什么时候?这是什么类型的消息?超时从哪里来? 问题答案

  • 我目前在AWS中使用Gatling加载测试我的服务。我使用HTTP做了几次负载测试,我的服务工作得很好。没有TLS握手错误。当我们移动到HTTPS时,负载测试结果显示TLS握手超时异常到处都是,最后因为未处理的请求排队而抛出OOM。 其他信息: Gatling场景如下:发送三个请求,然后使用头发送一个请求。我想模拟发送三个保持活动状态的请求,并在最后关闭它 我的服务由Kubernetes管理 我所