使用curl时总是出现539108721984:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1399:SSL alert number 40
错误
在搜索了一些参考资料后,我找到了答案,第一个问题是因为没有发送服务器名,而是在libcurl doesn't set SNI for IPs中。
在openssl中,我可以为SNI设置参数-servername
openssl s_client -servername example.com -connect 1.2.3.4:443
curl怎么样?,--resolve
对我来说确实有效,我试过使用--proxy-insecure
也确实有效
curl --resolve example.com:443:1.2.3.4 "telnet://host.com:443" -x https://104.18.25.139:443 --proxy-insecure
1条答案
按热度按时间mrfwxfqh1#
最后在阅读手册页https://curl.se/docs/manpage.html之后
我可以使用
--haproxy-protocol
在这里我可以解决我的问题。
检查您的cURL版本
我的 curl 度低于
7.60.0
,所以我需要更新它。我尝试使用
sudo apt update curl
,但仍然过时。所以我从官方网站安装最新的curl。
您可以选中此项以安装最新cURL
https://gist.github.com/lexavey/bc93b7d18062f063462b68d2f2126c7a