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.

Другие вопросы по тегам