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

perl – LWP :: UserAgent和500 SSL协商失败,第1张

概述我正在运行一个旧的Debian服务器,每天一次通过Perl脚本获取网页.从昨天开始,脚本因“500 SSL协商失败”错误而失败. use strict;use LWP::UserAgent;my $browserObj = LWP::UserAgent->new();$response = $browserObj->get( "https://www.domain.tld" );pri 我正在运行一个旧的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
总结

以上是内存溢出为你收集整理的perl – LWP :: UserAgent和500 SSL协商失败全部内容,希望文章能够帮你解决perl – LWP :: UserAgent和500 SSL协商失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存