我正在尝试运行这个命令:
curl https://api-3t.sandbox.paypal.com/nvp
在我的 ubuntu 机器上,它失败并出现以下错误:
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
但是,我还使用了一个 amazon ec2 实例,我相信它是基于 CentOS 的,它可以正常工作。我发现,如果我运行这个命令:
curl --cipher DEFAULT https://api-3t.sandbox.paypal.com/nvp
然后它就工作了,我可以在 ubuntu 上运行它,但不能在 amazon 上运行!它抱怨 DEFAULT 不是有效列表。事实上,我根本找不到任何可以在 amazon 上运行的密码 - 这与它使用 NSS 而不是 ubuntu 所拥有的密码有关吗?
这个问题从昨天开始出现,当时我执行了 apt-get upgrade,肯定是某些东西损坏了。我需要做什么才能让 curl 再次正常工作?
我的 Ubuntu 版本是 14.04.1 LTS
答案1
有些网站禁用对 SSL 3.0 的支持(可能由于许多漏洞/漏洞),因此可以通过-2
/--sslv2
或-3
/强制使用特定的 SSL 版本--sslv3
。-L
如果请求的页面已移动到其他位置,也值得一试。
就我而言,这是一个curl
错误,因此curl
需要升级到最新版本(>7.40),然后它就可以正常工作了。
也可以看看: