xan*_*pez 22 linux ubuntu ssl wget
我试图通过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.
Run Code Online (Sandbox Code Playgroud)
我的测试用例:
另一个变量是www.website.com使用TLS 1.0.我不知道这会如何影响wget.但是,如果我从TLS 1.2网站获取图像,我不会从两个测试用例中获得任何ssl连接错误.
Ubuntu 14.04或wget 1.15与TLS 1.0网站不兼容吗?我是否需要安装/下载任何库/软件才能启用此连接?
Ste*_*ich 17
...现在它只发生在我正在测试的网站上.我不能在这里发布,因为它是保密的.
然后我想这是与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网站不兼容吗?我是否需要安装/下载任何库/软件才能启用此连接?
问题是服务器,而不是客户端.大多数浏览器通过使用较低版本重试来解决这些损坏的服务器.如果第一次连接尝试失败,大多数其他应用程序将永久失败,即它们不会自行降级,并且必须通过某些特定于应用程序的设置强制执行另一个版本.
你必须使用旧版本的wget我有同样的问题.我使用wget 1.12.so来解决这个问题有2种方法:更新wget或使用curl
curl -LO 'https://example.com/filename.tar.gz'
Run Code Online (Sandbox Code Playgroud)
虽然这是几乎可以肯定不是作战指挥问题,你也可以Unable to establish SSL connection从wget,如果你是使用代理,并没有HTTP_PROXY和HTTPS_PROXY环境变量设置正确。确保设置HTTP_PROXY并HTTPS_PROXY指向您的代理。
如果您为一家大公司工作,这是一种常见情况。
| 归档时间: |
|
| 查看次数: |
114493 次 |
| 最近记录: |