Perl LWP::UserAgent Несовместимый SSL/TLS Ошибка сообщения об ошибке сертификата Проблема
Кажется, у меня странная разница в LWP::UserAgent в Ubuntu и CentOS.
В Ubuntu (14.04.1 с LWP::UserAgent 6.05), если я пытаюсь подключиться к домену с самозаверяющим сертификатом, я получаю это сообщение об ошибке с кодом ошибки 500:
"Не удается подключиться к my.test-domain.com:443 (сбой проверки сертификата)"
Это хорошо. Я точно вижу, что не так - проблема с сертификатом. Но на CentOS 7 (также с LWP::UserAgent 6.05) я просто получаю это:
"Невозможно подключиться к my.test-domain.com:443".
Это менее информативно и, как таковое, доставляет мне проблемы! Кто-нибудь знает, как я могу пнуть LWP на CentOS, чтобы получить сообщение "сбой проверки сертификата"? Вот скрипт, с которым я тестирую:
#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
my $url='https://my.test-domain.com/';
my $browser= LWP::UserAgent->new();
my $tryHEAD=$browser->head($url);
my $responseCode=$tryHEAD->code();
if($tryHEAD->code()==200 ) { print "OK\n"; }
else { print $tryHEAD->code().' '.$tryHEAD->message()."\n"; }
1 ответ
Похоже, это связано с версией IO::Socket::IP (которая автоматически используется IO::Socket::SSL). Без IO:: Socket:: IP или с версией 0.31 (и, вероятно, позже) он работает так, как задумано, а с версией 0.25 (Ubuntu 14.04) - нет. Это, вероятно, связано с изменениями в обработке connect
в версии 0.30,0.31.