wget 获取错误的 ssl 证书

wget 获取错误的 ssl 证书

如果我访问这个 URLhttps://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg去寻找 SSL 证书,然后我看到了我们域名的有效(通配符)证书pse.de

如果我访问此 URL https://85.214.107.230/img/common/globe.png(相同的 IP),则浏览器会抱怨 a) 证书已过期,b) 它是自签名的。没关系,这是 plesk 管理站点的证书,除了我们的管理员之外,没有人会使用此站点。

如果我感染这些文件,就会curl发生以下情况:

$ curl https://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg > /dev/null 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 90217  100 90217    0     0  16960      0  0:00:05  0:00:05 --:--:--  319k

$ curl https://85.214.107.230/img/common/globe.png > /dev/null 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
....

curl正如预期的那样,对第一个证书很满意,但对第二个证书有所抱怨。

但是,当我做同样的事情时wget

$ wget https://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg -O /dev/null 
--2014-08-13 15:20:44--  https://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg
Resolving solarpaces2014.pse.de... 85.214.107.230
Connecting to solarpaces2014.pse.de|85.214.107.230|:443... connected.
ERROR: cannot verify solarpaces2014.pse.de’s certificate, issued by “/C=US/ST=Virginia/L=Herndon/O=Parallels/OU=Parallels Panel/CN=Parallels Panel/[email protected]”:
  Self-signed certificate encountered.
ERROR: certificate common name “Parallels Panel” doesn’t match requested host name “solarpaces2014.pse.de”.
To connect to solarpaces2014.pse.de insecurely, use ‘--no-check-certificate’.

为什么会wget获取错误的证书?这是个wget问题还是我们的 Apache 配置有问题?

答案1

快速搜索显示,支持 TLS 服务器名称指示(信噪比),这正是您所需要的,它是在 wget 版本 1.14 中引入的。

Curl 很早就包含了 SNI 支持。

例如 RHEL/CentOS 6 包含 wget 版本 1.12 和 Debian wheezy 1.13,所以我预计它们尚不支持 SNI。

相关内容