安裝編譯環境
yum -y groupinstall "Development Tools" yum -y install libev libev-devel zlib zlib-devel openssl openssl-devel git
yum -y groupinstall "Development Tools" yum -y install libev libev-devel zlib zlib-devel openssl openssl-devel git
cd /var/tmp 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
cd /var/tmp git clone https://github.com/bagder/curl.git cd curl ./buildconf ./configure --with-nghttp2=/usr/local make make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/custom-libs.conf ldconfig ldconfig -p | grep libnghttp2
./src/curl -V
curl 7.45.0-DEV (x86_64-unknown-linux-gnu) libcurl/7.45.0-DEV OpenSSL/1.0.1e zlib/1.2.7 nghttp2/1.3.1-DEV Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz HTTP2 UnixSockets
./src/curl --http2 -v https://http2bin.org/get
* Trying 104.131.161.90... * Connected to http2bin.org (104.131.161.90) port 443 (#0) * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * NPN, negotiated HTTP2 (h2) * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Unknown (67): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * Server certificate: * subject: OU=Domain Control Validated; OU=EssentialSSL; CN=www.http2bin.org * start date: 2015-02-21 00:00:00 GMT * expire date: 2016-02-21 23:59:59 GMT * subjectAltName: http2bin.org matched * issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Domain Validation Secure Server CA * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x1c59450) > GET /get HTTP/1.1 > Host: http2bin.org > User-Agent: curl/7.45.0-DEV > Accept: */* > * http2_recv: 16384 bytes buffer at 0x1c59d60 (stream 1) * http2_recv: 16384 bytes buffer at 0x1c59d60 (stream 1) * http2_recv: 16384 bytes buffer at 0x1c59d60 (stream 1) * http2_recv: returns 466 for stream 1 < HTTP/2.0 200 < server:h2o/1.2.0 < date:Tue, 08 Sep 2015 03:41:11 GMT < content-type:application/json < access-control-allow-origin:* < access-control-allow-credentials:true < x-clacks-overhead:GNU Terry Pratchett < { "args": {}, "headers": { "Accept": "*/*", "Connection": "keep-alive", "Host": "http2bin.org", "User-Agent": "curl/7.45.0-DEV", "Via": "2 http2bin.org" }, "origin": "54.65.241.177", "url": "https://http2bin.org/get" } * Connection #0 to host http2bin.org left intact