nginx quic实验
扫盲文档:
https://http3-explained.haxx.se/zh
最终用 quiche+nginx-1.16 和 quiche+curl 完成了实验环境的搭建。
wireshark升级到3.4.7之后也能够进行quic、http3的识别和tls的解密了。
----------- 杂七杂八的记录 -----------------------
下载代码
┬─[tong@T7:~/Src/thirdparty/boringssl.git]─[11:41:40 AM]
╰─>$ git remote -v
origin git@github.com:google/boringssl.git (fetch)
origin git@github.com:google/boringssl.git (push)
wget: https://hg.nginx.org/nginx-quic/shortlog/quic
编译boringssl
mkdir build
cd build
cmake ..
make
编译nginx-quic
./auto/configure --with-debug --with-http_v3_module --with-cc-opt='-I ../boringssl.git/include/ '
--with-ld-opt=' -L ../boringssl.git/build/ssl/ -L ../boringssl.git/build/crypto/'
make
配置示例
server {
listen 88 http3 reuseport;
server_name localhost;
ssl_certificate /home/tong/Keys/https/sni/sni_test1.cer;
ssl_certificate_key /home/tong/Keys/https/sni/sni_test1.key;
ssl_protocols TLSv1.3;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
add_header Alt-Svc 'h3=":8443"; ma=86400';
}
client
https://github.com/ngtcp2/ngtcp2 + boringssl
examples编译不过去
quiche + curl
https://github.com/cloudflare/quiche
https://github.com/curl/curl/blob/master/docs/HTTP3.md#quiche-version
照着文档编译。
[root@t88 curl.git]# ./src/curl --http3 https://quic.tech:8443/
quiche + nginx-1.16.1
打上patch 照着文档编译。
其他:
还有个支持quic的openssl:https://github.com/quictls/openssl/tree/OpenSSL_1_1_1k+quic
wireshark使用:
https://www.programmersought.com/article/65688366064/