如何在t1.micro实例上更新AWS RHEL 6.4 AMI上的curl

时间:2016-04-23 17:58:40

标签: linux amazon-web-services curl paypal ami

我使用AWS AMI创建了t1.micro实例。这是版本细节

lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.7 (Santiago)
Release:        6.7
Codename:       Santiago

服务器功能齐全,工作正常。但是,当使用Curl连接时,它不会将TLs1.2连接发送到其他服务器。

这是测试脚本

$php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'

输出:

bool(false)
string(17) "SSL connect error"

当我使用python进行测试时,测试工作正常 $ python -c" import urllib2;打印(urllib2.urlopen(' https://tlstest.paypal.com/'。)读())"

输出: PayPal_Connection_OK

软件版本如下

curl-7.19.7-46.el6.x86_64
libcurl-7.19.7-46.el6.x86_64
OpenSSL 1.0.1e-fips 11 Feb 2013
NSS/3.18 Basic ECC
PHP Version 5.3.3

我怀疑由于旧版本的Curl,它无法在Curl请求中使用TLS1.2。

我尝试通过yum update

更新它
sudo yum install curl libcurl
Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
rhui-REGION-client-config-server-6 | 2.9 kB 00:00
rhui-REGION-rhel-server-releases | 3.7 kB 00:00
rhui-REGION-rhel-server-rh-common | 3.8 kB 00:00
Package curl-7.19.7-46.el6.x86_64 already installed and latest version
Package libcurl-7.19.7-46.el6.x86_64 already installed and latest version
Nothing to do

但是它说明了它的最新状态,没有任何更新。

我想知道为什么yum没有将Curl更新到最新版本?感谢任何指针。

谢谢, awsway

1 个答案:

答案 0 :(得分:1)

从这个链接得到答案    https://www.digitalocean.com/community/questions/how-to-upgrade-curl-in-centos6

为我工作。

添加一个名为/etc/yum.repos.d/city-fan.repo的新文本文件,其中包含

[CityFan]
name=City Fan Repo
baseurl=http://nervion.us.es/city-fan/yum-repo/rhel$releasever/$basearch/
enabled=1
gpgcheck=0

无论哪种方式,你应该好好去:

yum install libcurl 应该将cURL更新为(非常)最近的基于openSSL的版本(在编写本文时为7.46.0),这将解决TLSv1等的“未知协议”错误。

如果您想要阻止yum以后更新您可能已使用“非官方”更高版本安装的其他软件包,则可能需要删除/重命名city-fan.repo文件。