【问题标题】:wget: Cannot connect to https website (TLS error) [closed]wget:无法连接到 https 网站(TLS 错误)[关闭]
【发布时间】:2011-11-30 18:54:50
【问题描述】:

我正在尝试通过 Cygwin 使用 wget 从 https 网站获取一些内容。不幸的是,当我尝试连接时,出现以下错误:

#wget https://www.mysite.com/mycontent
Connecting to XXXXXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.

证书为 VeriSign Class 3 且未过期。我曾尝试使用选项--no-check-certificate--secure-protocol=SSLv2--secure-protocol=SSLv3 等,但这些选项不起作用,但会给出稍微不同的错误:

$ wget --secure-protocol=SSLv3 --no-check-certificate https://www.mysite.com/mycontent
Connecting to XXXXXX... connected.
GnuTLS: GnuTLS internal error.
Unable to establish SSL connection.

我还尝试在我的 PC 上从 Internet Explorer 导出 DER 证书,然后将该证书传递给 wget,但同样失败:

$ wget --certificate-type=DER --certificate=mysite.cer https://www.mysite.com/mycontent
Connecting to XXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.

我有什么遗漏吗?谁能指出我必须做些什么才能完成这项工作?

抱歉,出于雇主保密的原因,我不得不编辑真实的服务器信息。

这是我的 wget/cygwin 配置信息:

$ wget --version
GNU Wget 1.13.4 built on cygwin.

+digest +https +ipv6 +iri +large-file +nls -ntlm +opie +ssl/gnutls

Wgetrc:
    /etc/wgetrc (system)
Locale: /usr/share/locale
Compile: gcc-4 -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
    -DLOCALEDIR="/usr/share/locale" -I.
    -I/usr/src/wget-1.13.4-1/src/wget-1.13.4/src -I../lib
    -I/usr/src/wget-1.13.4-1/src/wget-1.13.4/lib -g -O2 -pipe
Link: gcc-4 -g -O2 -pipe -liconv -lintl /usr/lib/libgnutls.dll.a
    /usr/lib/libtasn1.dll.a /usr/lib/libz.dll.a
    /usr/lib/libgcrypt.dll.a /usr/lib/libgpg-error.dll.a
    /usr/lib/libintl.dll.a -L/usr/lib/ncursesw /usr/lib/libiconv.dll.a
    -lgcrypt -lgpg-error -lz -lidn ftp-opie.o gnutls.o ../lib/libgnu.a

【问题讨论】:

  • 如果有帮助,Web 服务器是 Oracle 应用服务器 Oracle-Application-Server-10g OracleAS-Web-Cache-10g/10.1.2.0.2
  • 我刚在 Linux 机器上尝试过,效果很好。所以问题似乎特定于 Cygwin 或其中包含的 wget 版本。
  • 有解决这个问题的方法吗?我使用最新的 cygwin wget/gnutls 收到此错误。它也适用于我在 linux 上。
  • 不抱歉,我想我最终使用了另一种解决方案,但我现在不记得细节了。

标签: https cygwin ssl-certificate wget ssl


【解决方案1】:

我在尝试从 IIS 框中 wget 时看到了这种情况。有一个错误处理 SSL 请求的 IIS 错误。浏览器会忽略它,wget 不会。

如果我没记错的话(已经好几年了),有一个 wget 设置告诉它忽略 SSL 证书错误……也许是 --sslcheckcert 选项。尝试使用--sslcheckcert=0

【讨论】:

  • 感谢您的建议,但我看不到任何类似的标志。你的意思是--no-check-certificate?我如上所述尝试过 - 没有用。
  • 不,这是一个 wget 参数,至少在我的版本中是这样。 1.9.1 在我的 Mac 上。
  • 它是否只发生在那个网站上,或者你可以抓住google.com吗?
  • 啊。不幸的是,您使用的是旧版本的 wget。我正在使用 1.13.4。不,我也无法获取 google.com - 同样的错误。
  • 在 cygwin 上还应该有支持 ssl 的 wget: man wget |grep -i ssl HTTPS (SSL/TLS) 选项 要支持加密的 HTTP (HTTPS) 下载,Wget 必须使用外部 SSL 库,目前是 OpenSSL。如果 Wget 在不支持 SSL 的情况下编译,则这些选项均不可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 2017-07-13
  • 2018-12-01
相关资源
最近更新 更多