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/

原文地址:https://www.cnblogs.com/hugetong/p/15005758.html