如何在 t1.micro 实例上更新 AWS RHEL 6.4 AMI 上的 curl
how to update curl on AWS RHEL 6.4 AMI on a t1.micro instance
我有 t1.micro 个使用 AWS AMI 创建的实例。这是版本详情
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; print(urllib2.urlopen('https://tlstest.paypal.com/').read())"
输出:
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 更新到最新版本?感谢任何指点。
谢谢,
好吧
从这里得到答案link
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 安装 libcurl
应该将 cURL 更新为(非常)最新的基于 openSSL 的版本(在撰写本文时为 7.46.0),这将解决 TLSv1 等的 "unknown protocol" 错误
你可能想要 remove/rename city-fan.repo 文件,如果你想防止 yum 以后也更新你可能已经安装了 "non-official" 更高版本的其他软件包。
我有 t1.micro 个使用 AWS AMI 创建的实例。这是版本详情
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; print(urllib2.urlopen('https://tlstest.paypal.com/').read())"
输出: 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 更新到最新版本?感谢任何指点。
谢谢, 好吧
从这里得到答案link 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 安装 libcurl 应该将 cURL 更新为(非常)最新的基于 openSSL 的版本(在撰写本文时为 7.46.0),这将解决 TLSv1 等的 "unknown protocol" 错误
你可能想要 remove/rename city-fan.repo 文件,如果你想防止 yum 以后也更新你可能已经安装了 "non-official" 更高版本的其他软件包。