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协商失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)