LWP :: Protocol :: https :: Socket:connect:timeout错误

时间:2016-10-19 05:55:36

标签: perl amazon-web-services ssl amazon-cloudwatch cloudwatch

我正在尝试配置aws cloudwatch脚本来监控内存等。在执行脚本时我们得到以下错误并且升级了perl包,LWP版本最新也是6但是脚本仍然失败以下错误。

我尝试将env变量设置为PERL_LWP_ENV_PROXY=1PERL_LWP_SSL_VERIFY_HOSTNAME=0,但仍然失败。请帮忙。

  

[ec2-user @ ip-10-175-82-195 aws-scripts-mon] $ sudo   ./mon-put-instance-data.pl --mem-util --mem-used --mem-avail   --aws-凭证文件=。/ awscreds.template

     

错误:无法调用CloudWatch:HTTP 500.消息:无法连接   monitoring.ap-southeast-1.amazonaws.com:443(超时)

     

LWP :: Protocol :: https :: Socket:connect:timeout at   /usr/local/share/perl5/LWP/Protocol/http.pm第47行。

     

有关详情,请运行' mon-put-instance-data.pl --help'

3 个答案:

答案 0 :(得分:2)

  

PERL_LWP_ENV_PROXY=1

我想这也意味着你将http_proxy环境变量设置为它应该使用的代理,并且除了使用这个代理之外没有办法到达目标。

  

$ sudo ./mon-put-instance-data.pl

使用sudo调用某些内容将以不同的权限运行它。出于安全原因,在调用程序之前,sudo之前会对环境变量进行大量清理,这可能意味着sudo运行的程序http_proxy为空。这再次意味着它将尝试直接到达目标站点而不是使用代理,并且将在连接时超时,因为只能使用代理访问站点。

答案 1 :(得分:0)

似乎是build-essential没有安装。 请安装构建必需品。我遇到了同样的问题。构建完成后,安装所有相关的cpan模块。

sudo apt-get install build-essential

由于 阿米特

答案 2 :(得分:0)

尝试以下方法:

yum install openssl openssl-devel
perl -MCPAN -e 'install LWP::Protocol::https'

如果问题仍然存在,请尝试

perl -MCPAN -e 'install Bundle::CPAN'
perl -MCPAN -e 'install Bundle::LWP5_837'