当前位置: 首页 > 面试题库 >

在Ubuntu 14.04 LTS上的wget上无法建立SSL连接

邴星洲
2023-03-14
问题内容

我试图通过wget下载图像,但出现错误:无法建立SSL连接。

wget https://www.website.com/image.jpg
--2015-02-26 01:30:17--  https://www.website.com/image.jpg
Resolving www.website.com (www.website.com)... xx.xxx.xx.xx
Connecting to www.website.com (www.website.com)|xx.xxx.xx.xx|:443... connected.
Unable to establish SSL connection.

我的测试用例:

  1. 使用Ubuntu 12.04.4 LTS(GNU / Linux 3.8.0-44-通用x86_64),基于linux-gnu构建的GNU Wget 1.13.4,我能够使用上面的代码下载映像。没错
  2. 使用Ubuntu 14.04 LTS(GNU / Linux 3.13.0-24-通用x86_64),基于linux-gnu构建的GNU Wget 1.15,我无法使用上面的代码下载映像。

另一个变量是www.website.com使用TLS 1.0。我不知道这如何影响wget。但是,如果我从TLS
1.2网站获取图像,则两个测试用例都不会出现任何ssl连接错误。

Ubuntu 14.04或wget 1.15与TLS 1.0网站不兼容吗?我需要安装/下载任何库/软件来启用此连接吗?


问题答案:

…目前仅在我正在测试的网站上发生。我不能在这里发布它,因为它是机密的。

然后,我猜这是与TLS1.2不兼容的网站之一。在12.04中使用的openssl在客户端不使用TLS1.2,而在14.04中则使用TLS1.2,这可能解释了差异。要变通,请尝试明确使用--secure-protocol=TLSv1。如果这样做没有帮助,请检查您是否可以使用和访问网站openssl s_client -connect ...(可能无法访问)openssl s_client -tls1 -no_tls1_1, -no_tls1_2 ...

请注意,这可能是其他原因,但这是最可能的原因,并且如果无法访问该网站,无论如何,一切都只是猜测。

详细假定的问题:通常,客户端使用最兼容的握手来访问服务器。这是SSLv23握手,它与较旧的SSL版本兼容,但是会宣布客户端支持的最佳TLS版本,以便服务器可以选择最佳版本。在这种情况下,wget会宣布TLS1.2。但是有一些损坏的服务器从未假设过一天会出现像TLS1.2这样的消息,并且如果客户端宣布支持此热门新版本(从2008年开始!),而不是仅以最佳版本响应服务器,它们将拒绝握手。支持。要访问这些损坏的服务器,客户端必须撒谎并声称它仅支持TLS1.0作为最佳版本。

Ubuntu 14.04或wget 1.15与TLS 1.0网站不兼容吗?我需要安装/下载任何库/软件来启用此连接吗?

问题是服务器,而不是客户端。大多数浏览器通过重试较低版本来解决这些损坏的服务器。如果其他第一次连接尝试失败,则大多数其他应用程序将永久失效,即它们不会自行降级,而必须通过某些应用程序特定的设置来强制实施另一个版本。



 类似资料:
  • 问题内容: 我迷上了Firefox。我无法使Websocket正常工作。我使用TornadoWebsocket,并通过以下代码对其进行了初始化: 然后像这样在Javascript端初始化它: 这段代码在Chrome上运行良好,同时我自己创建了证书并在HTTPS下运行页面。但是Firefox一直在说: 我用谷歌搜索,发现了太多想法,但没有一个对我有用:( 任何帮助将不胜感激。 问题答案: 我通过Pr

  • ... 错误:无法连接到服务器127.0.0.1:27017(127.0.0.1),在src/mongo/shell/mongo.js:146连接失败 在运行mongod的CMD中,输出为: 2014-05-18T17:10:10.136-0300[initandlisten]构建信息:windows sys.getWindowsVersion(major=6,minor=1,build=7601

  • 我收到一个错误“无法建立SSL连接,请参阅内部异常。身份验证失败,请参阅内部异常。”当尝试通过C#HttpWebRequest通过SSL发布请求时(已尝试RestSharp和HttpClient,结果相同)。我还尝试了网络上提到的所有可能的解决方案,如: 他们都不为我工作。另一个问题是,我在另一台计算机上运行相同的项目,它的工作没有任何问题。所以看起来问题的来源是环境,也许. net框架或注册表中

  • 在使用PHP 5.6.3在Ubuntu 14.04上克隆存储库后,我无法运行PHP composer。phar selfupdate都不是php composer。phar更新。我收到以下消息: 我认为问题应该出在我本地拥有的证书上,但我无法想象如何解决它。 这是作曲家。json:

  • 问题内容: 我目前将我的Redis缓存服务器托管在Azure上,并使用以下命令让SignalR将其作为骨干网… GlobalHost.DependencyResolver.UseRedis(“ Server”,port,“ password”,“ eventKey”); 可以在端口6379(非SSL)上找到此功能,但是当我尝试连接到Azure Redis服务器的SSL端口(6380)时,聊天应用程

  • 问题内容: 当我尝试在openshift jenkins上构建项目时出现以下异常 问题答案: 我们正在升级中,这可能是这里的原因。升级完成后,请重试。要获取最新状态,请点击此处: https //openshift.redhat.com/app/status