curl - "TLS wrong version number"与 OpenSSL 1.1.1

标签 curl openssl docker-registry docker-api tls1.3

我尝试使用Docker Registry REST API V2在本地注册表实例上。

运行注册表:docker run -d --network host --nameregistryregistry:2 ( docs )。

检查注册表的命令:

$ curl https://localhost:5000/v2/_ping
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

我的curl使用OpenSSL 1.1.1,它应该支持TLS 1.3。但它不起作用:

$ curl -3 https://localhost:5000/v2/_ping
curl: (4) OpenSSL was built without SSLv3 support

Curl 和 OpenSSL 版本:

$curl --version
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets HTTPS-proxy 

操作系统:Linux Mint 19.1

按照guide安装OpenSSL 1.1.1 .

OpenSSL 1.1.1 是否支持 TLS 1.3?如何解决这个问题?

最佳答案

您在 localhost:5000 上运行的网络服务器太旧了,以至于它正在尝试使用 SSLv3,并且自 2014 年 libcurl 7.39.0 起默认禁用 SSLv3 支持,您的curl 版本比 7.39.0 更新。

更新您的网络服务器或完全禁用加密,现在使用 SSLv3 会产生错误的安全感。

关于curl - "TLS wrong version number"与 OpenSSL 1.1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085550/

相关文章:

本地网络中的 docker 私有(private)注册表

ssl - pem 证书中的私钥是如何加密的?

c++ - Boost ASIO 连接失败

c - 解密时在 AES_encrypt 函数中指定输入字符串长度

docker - 如何检查何时拉取 docker 镜像?

url - Artifactory 主机名解析到 docker 注册表

php - curl 错误 (35) : error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 unrecognized name

curl - 如何将 curl 与包含括号字符的 url 一起使用?

c - Linux libcrypto AES-128 CBC 加密/解密适用于 Ubuntu,但不适用于 Raspberry Pi

flask - 启动 Telegram 机器人的问题