Если я перейду на этот URL https://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg ищу ssl-сертификаты, тогда я вижу действительный (подстановочный) сертификат для нашего домена pse.de
.
Если я пойду по этому URL https://85.214.107.230/img/common/globe.png
(тот же IP-адрес), тогда браузер жалуется, что а) срок действия сертификата истек и б) что он самоподписан. Хорошо, это сертификат для сайта администратора 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/emailAddress=info@parallels.com”:
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?
Быстрый поиск показывает, что поддержка указания имени сервера TLS (SNI), который вам нужен в вашем случае, был представлен в версии 1.14 wget.
Curl немного раньше включал поддержку SNI.
Например, RHEL / CentOS 6 включает wget версии 1.12 и Debian wheezy 1.13, поэтому я ожидаю, что они еще не поддерживают SNI.