diff options
Diffstat (limited to 'docs/HTTP3.md')
-rw-r--r-- | docs/HTTP3.md | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/docs/HTTP3.md b/docs/HTTP3.md index 1e9b183c..2dbd2568 100644 --- a/docs/HTTP3.md +++ b/docs/HTTP3.md @@ -33,7 +33,7 @@ in the master branch using pull-requests, just like ordinary changes. Build (patched) OpenSSL - % git clone --depth 1 -b openssl-quic-draft-22 https://github.com/tatsuhiro-t/openssl + % git clone --depth 1 -b openssl-quic-draft-23 https://github.com/tatsuhiro-t/openssl % cd openssl % ./config enable-tls1_3 --prefix=<somewhere1> % make @@ -52,10 +52,10 @@ Build nghttp3 Build ngtcp2 % cd .. - % git clone -b draft-22 https://github.com/ngtcp2/ngtcp2 + % git clone https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -i - % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somehere1>/lib" --prefix==<somewhere3> + % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> % make % make install @@ -65,18 +65,9 @@ Build curl % git clone https://github.com/curl/curl % cd curl % ./buildconf - % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure -with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> + % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure --with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> % make -## Running - -Make sure the custom OpenSSL library is the one used at run-time, as otherwise -you'll just get ld.so linker errors. - -## Invoke from command line - - curl --http3 https://nghttp2.org:8443/ - # quiche version ## build @@ -91,9 +82,9 @@ Build BoringSSL (it needs to be built manually so it can be reused with curl): % mkdir build % cd build % cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on .. - % make -j`nproc` + % make % cd .. - % mkdir .openssl/lib -p + % mkdir -p .openssl/lib % cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib % ln -s $PWD/include .openssl @@ -109,13 +100,16 @@ Clone and build curl: % cd curl % ./buildconf % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release - % make -j`nproc` + % make + +## Run + +Use HTTP/3 directly: + + curl --http3 https://nghttp2.org:8443/ -## Running +Upgrade via Alt-Svc: -Make an HTTP/3 request. + curl --alt-svc altsvc.cache https://quic.aiortc.org/ - % src/curl --http3 https://cloudflare-quic.com/ - % src/curl --http3 https://facebook.com/ - % src/curl --http3 https://quic.aiortc.org:4433/ - % src/curl --http3 https://quic.rocks:4433/ +See this [list of public HTTP/3 servers](https://bagder.github.io/HTTP3-test/) |