curl 错误 SSL_ERROR_SYSCALL

curl 错误 SSL_ERROR_SYSCALL

运行命令curl -v https://myhost,curl 显示错误curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to IP:PORT

根本问题可能是什么?

答案1

就我而言,问题不在于 curl 或运行 curl 的主机,而在于我正在使用 curl 的 Web 服务器 nginx。

Web 服务器中未正确配置 TLS,导致 curl 错误。我的服务器的修复方法是添加所需的行ssl_certificatessl_certificate_key

nginx.conf

server {
    listen 80;
    listen 443 ssl;

    ssl_certificate /path/to/fullchain.pem;   # <-- this line was missing
    ssl_certificate_key /path/to/privkey.pem; # <-- this line was missing
}

答案2

对我来说,问题出在我的路由器上。我有一个 PPPoE 互联网连接,MTU 大小小于默认的 1500。所以我必须做的是在路由器上设置有关 mss 限制的防火墙规则:

# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtu

有关此问题的更多信息这里

相关内容