CentOS7 升级 curl 支持 HTTP2 与 TLS 1.3
【摘要】 目录
文章目录
目录编译安装YUM 升级curl 常用选项
编译安装
安装编译环境:
yum -y groupinstall "Development Tools"
yum -y install libev libev-devel zlib zlib-devel openssl openssl-devel git
12
安装 OpenSSL:
m...
目录
编译安装
安装编译环境:
yum -y groupinstall "Development Tools"
yum -y install libev libev-devel zlib zlib-devel openssl openssl-devel git
- 1
- 2
安装 OpenSSL:
mkdir /var/tmp
cd /var/tmp
wget https://openssl.org/source/openssl-1.0.2.tar.gz
tar -zxf openssl-1.0.2.tar.gz
cd openssl-1.0.2
mkdir /opt/openssl
./config --prefix=/opt/openssl
make
make test
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
安装 nghttp2:
git clone https://github.com/tatsuhiro-t/nghttp2.git
cd nghttp2
autoreconf -i
automake
autoconf
./configure
make
make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/custom-libs.conf
ldconfig
ldconfig -p| grep libnghttp2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
安装 curl:
cd /var/tmp
git clone https://github.com/bagder/curl.git
cd curl
./buildconf
./configure --with-ssl=/opt/openssl --with-nghttp2=/usr/local --disable-file --without-pic --disable-shared
make
- 1
- 2
- 3
- 4
- 5
- 6
验证:
$ /var/tmp/curl/src/curl --version
curl 7.70.0-DEV (x86_64-unknown-linux-gnu) libcurl/7.70.0-DEV OpenSSL/1.0.2o nghttp2/1.41.0-DEV
Release-Date: [unreleased]
Protocols: dict ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets
- 1
- 2
- 3
- 4
- 5
注意:curl 从 7.52.0 版本开始也已经支持 TLS 1.3 了,curl 7.61.0 及以上在 TLS 握手过程中协商 TLS 版本时,curl 默认使用 TLS 1.3,但也取决于 curl 正在使用的 TLS 库及其版本,例如:要求 OpenSSL 1.1.1 版本以上。
YUM 升级
安装新版 libcurl 的 yum 源:
rpm -ivh http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
- 1
升级:
yum upgrade libcurl
- 1
升级完成后可以卸载此 yum 源:
rpm -e city-fan.org-release
- 1
curl 常用选项
语法格式:
curl [options] [URL...]
常用选项如下所示:
-A/--user-agent <string>: 设置用户代理发送给服务器 -e/--referer <URL>: 来源网址 --cacert <file>: CA 证书(SSL) -k/--insecure: 允许忽略证书进行 SSL 连接 --compressed: 要求返回是压缩的格式 -H/--header <line>: 自定义首部信息传递给服务器 -i: 显示页面内容,包括报文首部信息 -I/--head: 只显示响应报文首部信息 -D/--dump-header <file>: 将 URL 的 header 信息存放在指定文件中 --basic: 使用 HTTP 基本认证 -u/--user <user[:password]>: 设置服务器的用户和密码 -L: 如果有 3xx 响应码,重新发请求到新位置 -O: 使用 URL 中默认的文件名保存文件到本地 -o <file>: 将网络文件保存为指定的文件中 --limit-rate <rate>: 设置传输速度 -0/--http1.0: 数字 0,使用 HTTP 1.0 -v/--verbose: 更详细 -C: 选项可对文件使用断点续传功能 -c/--cookie-jar <file name>: 将 URL 中 Cookie 存放在指定文件中 -x/--proxy <proxyhost[:port]>: 指定代理服务器地址 -X/--request <command>: 向服务器发送指定请求方法 -U/--proxy-user <user:password>: 代理服务器用户和密码 -T: 选项可将指定的本地文件上传到 FTP 服务器上 --data/-d: 方式指定使用 POST 方式传递数据 -b name=data: 从服务器响应 set-cookie 得到值,返回给服务器
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/105695093
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)