GET请求在浏览器中工作,但在curl中给出错误SSL_ERROR_SYSCALL

时间:2019-02-21 20:25:36

标签: ssl curl

当我将请求发送到https://DOMAIN:443/path时,它可以在我尝试过的每个Web浏览器中正常运行。但是当涉及到curl(和wget)时,我得到一个错误。我已经重新编译了openssl和curl(最新版​​本),没有任何更改。

  

curl -vv https://DOMAIN:443/path

输出

* TCP_NODELAY设置
*连接到DOMAIN(IPADDRESS)端口443(#0) * ALPN,提供h2
* ALPN,提供http / 1.1
*成功设置证书验证位置:
* CAfile:/etc/ssl/certs/ca-certificates.crt
  CApath:无
* TLSv1.3(OUT),TLS握手,客户端问候(1):
* OpenSSL SSL_connect:连接到DOMAIN的SSL_ERROR_SYSCALL:443
*关闭连接0
curl:(35)OpenSSL SSL_connect:SSL_ERROR_SYSCALL连接到DOMAIN:443

卷曲版本

curl 7.61.0 (x86_64-pc-linux-gnu) libcurl/7.61.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.4) nghttp2/1.32.1 librtmp/2.3
Release-Date: 2018-07-11
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我指的错误可能是在防火墙阻止Curl和wget连接时发生的。这些事实支持了这一理论:

  • 我使用不同的操作系统,配置,IP地址收到相同的错误,结果是相同的。
  • 基于浏览器的请求成功。
  • 使用curl和wget的替代方法效果很好(我使用了aria2kurly

所以,问题为我解决了。我希望这个答案可以帮助任何面临相同问题的人。