wget ssl 警报握手失败

2024-04-05

我尝试从 https 站点下载文件并不断收到以下错误:

OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

通过在线阅读博客,我发现我必须提供服务器证书和客户端证书。我找到了如何下载服务器证书但没有下载客户端证书的步骤。有谁有使用 wget 和 SSL 的完整步骤吗?我还尝试了 --no-check-certificate 选项,但这不起作用。

wget version: wget-1.13.4
openssl version: OpenSSL 1.0.1f 6 Jan 2014

尝试从 coursera.org 上的课程网页下载所有讲座资源。因此,URL 看起来像这样:https://class.coursera.org/matrix-002/lecture https://class.coursera.org/matrix-002/lecture

在线访问此网页需要表单身份验证,不确定这是否导致失败。


它从这里开始使用相同的 OpenSSL 版本,但使用较新版本的 wget (1.15)。查看变更日志,您的问题有以下重大变化:

1.14:添加对 TLS 服务器名称指示的支持。

请注意,此站点不需要 SNI。但www.coursera.org需要它。 如果你调用 wget-v --debug(正如我在评论中明确推荐的那样!)您将看到:

$ wget https://class.coursera.org
...
HTTP request sent, awaiting response...
  HTTP/1.1 302 Found
...
Location: https://www.coursera.org/ [following]
...
Connecting to www.coursera.org (www.coursera.org)|54.230.46.78|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

所以错误实际上发生在www.coursera.org原因是缺少对 SNI 的支持。您需要升级 wget 版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wget ssl 警报握手失败 的相关文章

随机推荐