クロスコンパイラカールとサポートHTTP2

著作権:同意なしにオリジナルの記事は、転載を禁止しhttps://blog.csdn.net/zmlovelx/article/details/86617920

コードnghttp2ダウンロード
https://github.com/nghttp2/nghttp2/releases
など、/home/zm/download/nghttp2-1.36.0コードのディレクトリを入力する解凍として、伸長コードを、コンパイル
に./configure --enable-lib-をOpenWrtの--host = ARM専用のLinux --prefix =は/ opt /テスト/サードパーティ製/ /インストール
します
インストールします

カールコードのダウンロード
https://curl.haxx.se/download.html
または
https://curl.haxx.se/download/?C=M;O=D
アンパックし、コードのディレクトリを入力します。

假设其他的依赖库放在は/ opt /テスト/サードパーティ製/インストール/下、包括SSLは等库気遣う
生成のMakefile
PKG_CONFIG_PATH = "は/ opt /テスト/サードパーティ製/インストール/ libに/ pkgconfig" \
は./configure --host =腕を-openwrt-linuxの--enable-アール--enable-HTTP --enable-IPv6の--enable-pthreadsの--enable-クッキー--with-nghttp2 =は/ opt /テスト/サードパーティ製/インストールCPPFLAGS = " - I / OPT /テスト/サードパーティ製/インストール/含める」LDFLAGS = " - Lは/ opt /テスト/サードパーティ製/ libに/インストール" LIBS = " - Lは/ opt /テスト/サードパーティ製/ libに/インストール" --prefix = `pwd`は/インストール

Makefileの変更
はsrc / Makefileの
CCLD = $に1)CCLD = $(CC)を(CC)$( LIBCURL_LIBS)
しますCCLDを変更しないでください
../lib/.libs/libcurl.so:EVP_MD_CTX_free @ `への未定義参照 " OPENSSL_1_1_0
../lib/.libs/libcurl.so:X509_EXTENSION_get_object @ `への未定義参照 OPENSSL_1_1_0"
エラー

" - L / OPT /試験/サードパーティー/ LIB /インストール" にMakefileのIBS =の場合カール7.62.0後、MakefileのないCCLDは、生成されてもよいです

IBS = " - Lは/ opt /テスト/サードパーティ製/インストール/ libに-lcares -lnghttp2 -lssl -lcrypto -lz"

変更は、コンパイルし始めた後:
作る
make installを

テスト支援HTTP2
カール-v -k --http2 https://www.xdty.org

あなたがプリントアウトした場合は、次の手順にコンパイルカールがHTTP2サポートしていません
(1)サポートされていないプロトコル:カールを

以下为正常的打印
ルート@(なし):/#カール-v -k --http2 https://www.xdty.org
* 54.95.68.178をしようと...
* TCP_NODELAY設定
* www.xdty.orgに接続( 0)54.95.68.178)ポート443(#
* ALPN、H2を提供
* ALPN、HTTP / 1.1提供
* TLSv1.2(OUT)、TLSハンドシェイク、クライアントのhello(1):
* TLSv1.2(IN)、TLSハンドシェイク、サーバハロー(2):
* TLSv1.2(IN)、TLSハンドシェイク、証明書(11):
* TLSv1.2(IN)、TLSハンドシェイク、サーバ鍵交換(12):
* TLSv1.2(IN)、TLSハンドシェイク:、サーバーは(14)終了
* TLSv1.2(OUT)、TLSハンドシェイク、クライアント鍵交換(16):
* TLSv1.2(OUT)、TLSの変化暗号、暗号仕様を変更して(1):
* TLSv1.2(OUT )、TLSハンドシェイク、完成(20):
* TLSv1.2(IN)、TLSハンドシェイク、完成(20):
TLSv1.2 / ECDHE-ECDSA-CHACHA20-POLY1305用い* SSL接続
* ALPN、H2を使用する受け入れサーバ
*サーバ証明書を:
*件名:CN = xdty。 ORG
*開始日:12月14日10時16分39秒2018 GMTは
*日付を期限切れ:3月14日10時16分39秒2019 GMT
*発行者:C = US; O =さんは、暗号化してみましょう。CN =レッツ・暗号化庁X3の
とにかく続け、地元の発行者証明書(20)を取得できません:* SSL証明書は、結果を確認します。
* HTTP2を使用して、サーバがマルチユースをサポート
*接続の状態を(HTTP / 2を確認)に変更
LEN = 0:アップグレード後に接続バッファにストリームバッファでHTTP / 2データをコピーする*
*ストリームIDを使用して:1(簡単にハンドル0x79e788)
> GET / HTTP / 2
>ホスト:www.xdty.org
>のUser-Agent:/ 7.63.0カール
>受け入れ:* / *
>
*接続状態が変化(MAX_CONCURRENT_STREAMSの== 128)!
<HTTP / 2 200

著者:ハンサム++母教会cを行くには余りにも恐れて:31843264
 

おすすめ

転載: blog.csdn.net/zmlovelx/article/details/86617920