💬
quictls と HTTP/3 対応の h2load と nghttpx(nghttp2)、cURL をビルドする
HTTP/3 対応の h2load と nghttpx(nghttp2)をビルドした。HTTP/3 対応の cURL も考慮して TLS ライブラリは quictls にした。
ホームディレクトリを $HOME/http3/quictls
とする。まず quictls をビルドする
cd http3/quictls
git clone --depth 1 -b openssl-3.1.4+quic https://github.com/quictls/openssl
cd openssl
./config --prefix=$HOME/http3/quictls --libdir=$HOME/quictls/lib
make
make install
cd ../
http3/quiclts
に lib
と include
のディレクトリが生成されていることを確認する。
次に ngtcp2 をビルドする
git clone -b v1.4.0 https://github.com/ngtcp2/ngtcp2
cd ngtcp2
autoreconf -fi
PKG_CONFIG_PATH=$HOME/http3/quictls/lib/pkgconfig \
./configure --prefix=$HOME/http3/quictls
make
make install
cd ../
次に nghttp3 をビルドする
git clone -b v1.2.0 https://github.com/ngtcp2/nghttp3
cd nghttp3
git submodule update --init
autoreconf -fi
./configure --prefix=$HOME/http3/quictls --enable-lib-only
make
make install
cd ../
次に nghttp2 をビルドする
git clone -b v1.61.0 https://github.com/nghttp2/nghttp2
cd nghttp2
autoreconf -fi
PKG_CONFIG_PATH=$HOME/http3/quictls/lib/pkgconfig \
./configure --prefix=$HOME/http3/quictls --enable-http3
HTTP/3 が有効になっていることを確認する
make してインストールする
make
make install
cd ../
最後に cURL をビルドする
git clone https://github.com/curl/curl
cd curl
autoreconf -fi
PKG_CONFIG_PATH=$HOME/http3/quictls/lib/pkgconfig \
./configure \
--prefix=$HOME/http3/quictls \
--with-openssl --with-ngtcp2 --with-nghttp3
Discussion