У меня есть Perl-код, который отправляет SOAP-запрос через SOAP :: Lite следующим образом:
eval
{
$sresp = SOAP::Lite
->uri('http://machine/key')
->proxy('https://usr:pwd@website.com/addr/addr/remotescript.pl')
->remotescript_pl_function(@parms, $gmtime);
};
if ($@)
{
print $@;
}
После замены существующего сертификата для * .website.com я не являюсьбольше получаю действительные ответы, я получаю
500 Can\'t connect to website.com:443 at localscript.pl line 123.
Если я включаю
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
, все работает.Но я хотел бы проверить имя хоста SSL, как я могу это сделать или отследить проблему?(Я немного растерялся в этом прокси).
У меня есть код на c ++ с libcurl, который работает в том же духе и работает хорошо.Ввод https://website.com в браузер работает нормально.Ввод http://machine (аппарат находится в локальной сети) работает.
edit 1:
Оба perl -MIO :: Socket :: SSL= debug4 yourscript.pl и analy-ssl.pl из p5-ssl-tools показывают сообщение об ошибке 1416F086, которое приводит меня к сведениям о том, что в сертификате SSL есть «проблемы с цепочкой», которые необходимо исправить в сертификатеустановка.
edit 2:
После исправления сертификата ошибка исчезла!Отлично, решено!