构建quic_server,让现有的服务支持quic协议(HTTP3)
文档说明:只记录关键地方;
试验环境: linux debian 11
目标:构建能测试的quic server
下载chromium 并且安装好依赖以后,执行构建quic_server脚本
#!/bin/bash set -exu __CURRENT__=`pwd` __DIR__=$(cd "$(dirname "$0")";pwd) cd ${__DIR__} cd ${__DIR__}/chromium/chromium/src/ test -d out/Default && rm -rf out/Default gn gen out/Default --args='is_debug=false symbol_level=0 enable_nacl=false blink_symbol_level=0 is_component_build=false use_debug_fission=false is_clang=false' ninja -j $(nproc) -C out/Default quic_server quic_client ldd out/Default/quic_server
nginx 配置文件中添加如下参数,为了使用http3 quic协议
(由http2 over tcp 跳转到http3 over udp )
set $alt_svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"'; add_header "Alt-Svc" $alt_svc; # Advertise that HTTP/3 is available
使用quic_server
让现有的服务支持quic 协议,简单配置如下
去这里验证 https://http3check.net/ http3 是否启用
cd out/Default/quic_server des=/quic_workspace cp libnet.so $des cp libbase.so $des cp libboringssl.so $des cp libabsl.so $des cp liburl.so $des cp libc++.so $des cp libprotobuf_lite.so $des cp libperfetto.so $des cp libcrcrypto.so $des cp libchrome_zlib.so $des cp libbase_i18n.so $des cp libicui18n.so $des cp libicuuc.so $des cp quic_server $des openssl pkcs8 \ -topk8 \ -outform DER \ -inform PEM \ -in /tls/wildcard.xiaoshuogeng.fullchain.pem \ -out /tls/wildcard.xiaoshuogeng.pkcs8 \ -nocrypt /quic_workspace/quic_server --quic_response_cache_dir=/data --certificate_file=/tls/wildcard.xiaoshuogeng.fullchain.pem --key_file=/tls/wildcard.xiaoshuogeng.pkcs8 --enable_webtransport=true --generate_dynamic_responses=true --port=443 --quic_mode=proxy --quic_proxy_backend_url=https://http-proxy.xiaoshuogeng.com --host=0.0.0.0 --v=1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术