当我尝试使用 curl(或 libcurl)连接到任何服务器(例如 google.com)时,我收到错误消息:
curl:(35)错误:1408F10B:SSL例程:ssl3_get_record:版本号错误
详细输出:
$ curl www.google.com --verbose
* Rebuilt URL to: www.google.com/
* Uses proxy env variable no_proxy == 'localhost,127.0.0.1,localaddress,.localdomain.com'
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'
* Trying 131.159.0.2...
* TCP_NODELAY set
* Connected to proxy.in.tum.de (131.159.0.2) port 8080 (#0)
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number'
出于某种原因,curl似乎使用TLSv1.3,即使我使用命令--tlsv1.2强制它使用TLSv1.2(它仍然会打印TLSv1.3(OUT),…”我使用的是Curl和OpenSSL的最新版本:
$ curl -V
curl 7.61.0-DEV (x86_64-pc-linux-gnu) libcurl/7.61.0-DEV OpenSSL/1.1.1 zlib/1.2.8
Release-Date: [unreleased]
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 libz TLS-SRP UnixSockets HTTPS-proxy
我认为这是一个与我安装程序有关的问题。有人可以向我解释此错误消息的含义吗?
这是一个提示错误,表明您正在从HTTPS端口提供HTTP。
您可以轻松地使用telnet进行测试
telnet FQDN 443
GET / HTTP/1.0
[hit return twice]
如果您在这里看到常规的HTTP文档[不是某种错误],您就知道您的配置不正确,并且响应服务器没有对响应进行SSL加密。
如果有人在使用Nginx时遇到这个错误,请尝试将以下内容添加到您的服务器配置中:
server {
listen 443 ssl;
...
}
此问题源于Nginx为HTTP服务器提供服务,客户端希望在您侦听的任何端口上使用HTTPS。当您在listen
指令中指定ssl
时,您可以在服务器端清除此问题。
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'
^^^^^
< code>https://不对,应该是< code>http://。代理本身应该通过HTTP而不是HTTPS访问,即使目标URL是HTTPS。然而,代理将正确处理HTTPS连接并保持端到端加密。请参见HTTP CONNECT方法,了解如何实现这一点的详细信息。
我正在尝试将php与firebase结合使用 安装软件包“composer require kreait/firebase php^4.0”后 调整我的火力基地 它向我显示了错误: 致命错误:未捕获错误http\Exception\ConnectException:cURL错误35:OpenSSL SSL\u connect:SSL\u error\u连接到ff64t的系统调用。firebasei
我已经在我的Ubuntu16.04上安装了JDK1.8,为了完成一些我必须安装JDK1.7的工作,我没有对旧版本做任何操作就安装了它,并且更改了$JAVA_HOME以指向新安装的位置。 echo运行良好,显示新安装的版本为1.7 但当我执行时,它显示的是较早安装的版本,即1.8。 如果我错在什么地方,请纠正我,我需要很好的解释这一点。 谢谢你。这是我的终端机
问题内容: 当我包含必须从源代码编译的开源库时,出现此错误。现在,网络上的所有建议都表明该代码是在一个版本中编译并在另一版本(旧版本中是新版本)中执行。但是,我的系统上只有一个JRE版本。如果我运行命令: 并在Eclipse中检查Java库的属性,我得到 因此,我必须得出结论,类本身内部的其他东西引发了异常?那有可能吗? 问题答案: 我了解到这样的错误消息通常是正确的。当无法(按您的想法)想到所报
当我试图用proguard混淆某个应用程序时,我总是会遇到这种错误 我已经更新了Proguard并检查了项目配置文件,但总是出现相同的错误。我正在使用Intellij IDEA的最新版本
我试图传递一个XML文件作为Http POST请求。当我在一个Linux框上使用CURL测试它时,网络服务运行良好,XML格式良好。我试图编写一个Java实用程序来做同样的事情。我在Apache Commons HttpClient库3.1版本中找到了一个示例,下面是我的代码: 进口: 代码: 我得到一个错误: 更新 增加了Commons-logging-1.2。罐子 仍然会出现错误: 这句话的意
cURL错误35:连接中出现未知SSL协议错误(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)186/var/www/api/vendor/guzzlehttp://guzzle/src/Handler/CurlFactory.php