我在连接 Ubuntu 机器时遇到问题,而我的另一台机器工作正常。两者之间的区别在于 Ubuntu 版本和 SSLeay 版本,但我无法缩小问题的范围。
我已经执行了以下操作:a) 添加环境变量:PERL_LWP_SSL_VERIFY_HOSTNAME,值为 0 b) 添加 $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; 到 VICommon.pm 文件
上面两个都没用。我不知道为什么它不能在我的第二台机器上工作。
Ubuntu 12.10(工程)
$perl /usr/lib/vmware-vcli/apps/general/connect.pl --url https:///sdk/webService --username --password
连接成功
服务器时间:2013-07-19T22:11:31.681181Z
$ perl -v
这是为 x86_64-linux-gnu-thread-multi 构建的 perl 5,版本 14,subversion 2 (v5.14.2)
$ perl -MLWP -e '打印“LWP 版本:$LWP::VERSION\n”'
LWP 版本:6.04
$ perl -MCrypt::SSLeay -e 'print "Crypt::SSLeay 版本:$Crypt::SSLeay::VERSION\n"'
地穴::SSLeay 版本:0.58
Ubuntu 13.04(不工作)
$perl /usr/lib/vmware-vcli/apps/general/connect.pl --url https:///sdk/webService --username --password
服务器版本在 /usr/share/perl/5.14/VMware/VICommon.pm 第 548 行的“https:///sdk/vimService.wsdl”中不可用。
$ perl -v
这是为 x86_64-linux-gnu-thread-multi 构建的 perl 5,版本 14,subversion 2 (v5.14.2)
$ perl -MLWP -e '打印“LWP 版本:$LWP::VERSION\n”'
LWP 版本:6.04
$ perl -MCrypt::SSLeay -e 'print "Crypt::SSLeay 版本:$Crypt::SSLeay::VERSION\n"'
地穴::SSLeay 版本:0.64
证书错误(两台机器相同)
lwp-request https:///sdk/webService Can't connect to :443 (证书验证失败)
LWP::Protocol::https::Socket:SSL 连接尝试失败,出现未知错误错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证在 /usr/share/perl5/LWP/Protocol/http.pm 第 51 行失败。
更新 1
看起来这个问题与 Ubuntu 版本无关,但是当我在 12.10 机器上执行“apt-get upgrade”时得到的新软件包我没有这样做,它正在工作。然而,在 13.04 上,我最终完成了所有更新。现在,自从我收到超过 80 次更新以来,我仍然没有缩小到把它搞砸的图书馆。当我安装新的 13.04 映像时,它工作正常。
** 更新 2 **
看起来基本的 Ubuntu 12.10 或 13.04 工作正常。如果您获得最新更新,则它将停止工作。所以还不确定哪个库导致了这个问题。