加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – LWP :: UserAgent和500 SSL协商失败

发布时间:2020-12-15 23:33:08 所属栏目:大数据 来源:网络整理
导读:我正在运行一个旧的Debian服务器,每天一次通过Perl脚本获取网页.从昨天开始,脚本因“500 SSL协商失败”错误而失败. use strict;use LWP::UserAgent;my $browserObj = LWP::UserAgent-new();$response = $browserObj-get( "https://www.domain.tld" );print $
我正在运行一个旧的Debian服务器,每天一次通过Perl脚本获取网页.从昨天开始,脚本因“500 SSL协商失败”错误而失败.

use strict;
use LWP::UserAgent;

my $browserObj = LWP::UserAgent->new();

$response = $browserObj->get( "https://www.domain.tld" );
print $response->status_line . "n" if( ! $response->is_success );

就像我说的,它是一个运行旧版本的旧服务器:

> Perl:5.8.8
> OpenSSL:0.9.8c
> LWP:5.805
>地穴:: SSLeay:0.57

我制作了服务器的快照,以便我可以尝试各种解决方案,如果失败则返回快照.这正是我在每次测试后所做的,返回到原始服务器状态.

测试1:
我尝试的第一件事是将OpenSSL更新为1.0.2d.这没有帮助,我仍然得到“SSL协商失败”错误.然后我更新了Crypt:SSLeay.这完全打破了SSL(导致服务器无法连接到任何安全服务器).

测试2:
更新了Crypt :: SSLeay而不更新OpenSSL.导致服务器无法再次连接到安全服务器.

测试3:
将OpenSSL更新为1.0.2d.更新了LWP.没有区别.仍有“500 SSL协商失败”

还有什么我可以尝试的吗?

PS:由于几个原因,我无法更新Debian本身.

解决方法

我让它为Perl工作.我怀疑,服务器上使用SSL的每个程序都需要单独修补.但这是Perl的解决方案:

1)更新OpenSSL(到版本1.0.2d)

这是使用SSL的每个程序的必要步骤!在我的Debian系统上,我使用了here发现的指令.

2)更新Net :: SSLeay

这是必要的,否则步骤4)将失败.

$cpan Net::SSLeay

3)更新Getopt :: Long

同样,这一步是必要的,否则步骤4)将失败.

$cpan Getopt::Long

4)更新Crypt :: SSLeay

请注意,这也将更新LWP.

$cpan Crypt::SSLeay

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读