hereの手順を既に実行しましたが、 Unsupported Protocol
curl--http2
オプションを使用する場合はまだあります。同様に、 を に設定すると、プログラムは HTTP/2 ではなく HTTP/1.1 を使用して通信しますCURLOPT_HTTP_VERSION
。CURL_HTTP_VERSION_2_0
プラットフォーム: VMware Player 7 上の Ubuntu 15.04。
で nghttp2-1.0.4 をインストールし--prefix=/usr/local
たので、libnghttp2.* は にあり/usr/local/lib
ます。
これは、curl-7.43.0 を構成するコードです。
./configure --with-nghttp2=/usr/local
結果は、HTTP2 が有効になっていることを示しています。
HTTP2 support: enabled (nghttp2)
と の後make
にsudo make install
、以下が返されますUnsupported Protocol
。
curl --http2 https://http2.akamai.com
curl バージョンは、nghttp2 がサポートされていることを示していません。
curl 7.43.0 (i686-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP
次に、OpenSSL 1.0.2 以降が必要であるというhereのアドバイスに従いました。それを /opt/openssl にインストールしたら、次のように再構成しました。
./configure --with-nghttp2=/usr/local --with-ssl=/opt/openssl/lib
と の後make
、sudo make install
すべての問題は同じままです。奇妙なことに、curl --version
OpenSSL/1.0.1f はまだアップグレードされていないため、上記と同じ情報が返されます。
オプションを正常に使用できるようにするためのヘルプは大--http2
歓迎です。