人生就是由众多的细节组成的
正因为是个细节,所以常被人所淡忘

宝塔安装Nginx 1.26.0 开启支持 HTTP/3 QUIC 协议 本站开始支持 QUIC

一. QUIC 是什么

QUIC 是 Quick UDP Internet Connections 的缩写,谷歌发明的新传输协议。与 TCP 相比,QUIC 可以减少延迟。由于 QUIC 建立在 UDP 之上,QUIC 可以实现可靠传输,而且相比于 TCP,它的流控功能在用户空间而不在内核空间,那么使用者就 不受限于 CUBIC 或是 BBR,而是可以自由选择,甚至根据应用场景自由调整优化。
QUIC 与现有 TCP + TLS + HTTP/2 方案相比,有以下几点主要特征:

  • 利用缓存,显著减少连接建立时间
  • 改善拥塞控制,拥塞控制从内核空间到用户空间
  • 没有 head of line 阻塞的多路复用
  • 前向纠错,减少重传
  • 连接平滑迁移,网络状态的变更不会影响连接断线。

QUIC 在 UDP 之上,如果想要和 TCP/IP 体系类比,那么就是上图。QUIC 可以类比 TCP/IP 中的 TLS 一层。但是功能又不完全是 TLS ,还有一部分 HTTP/2 ,下面还包括一部分 TCP 的功能,比如 拥塞控制、丢包恢复、流量控制等特性。

二. 为什么要部署 QUIC

最重要的一点还是速度快,小站部署在国外服务器上面,前端机开启了反向代理,但是速度还是不够理想。于是乎套了CDN,国内访问速度快了很多。

三. 实现 QUIC 前置条件

1、防火墙配置:允许 443 端口接收 UDP 数据包,防火墙将443端口UDP开放;宝塔在面板-左侧安全里面配置;
腾讯云 / 阿里云 / 华为云 等 添加安全组即可。
2、在 Nginx 站点配置文件里添加listen 443 quic reuseport;来增加监听来增加监听 443 端口的 UDP 协议;

3、 在所有的 server 域中,只需要有一个 server 域中配置 reuseport 选项即可

listen 443 ssl;
listen 443 quic reuseport;
listen [::]:443 ssl;
listen [::]:443 quic reuseport;
http2 on;

其他的 如下配置即可

listen  443 ssl;
listen  443 quic;
listen  [::]:443 ssl;
listen  [::]:443 quic;
http2 on;

4、打开浏览器控制台,刷新页面,在 调试面板 network 选项 ,protocl 栏 显示 h3 表示开启成功
5、响应头里包含: Alt-Svc: h3=”:443″; ma=2592000,h3-29=”:443″; ma=2592000
6、在站点的Nginx配置文件 大概26 27行添加以下代码:

#开启 HTTP/3 QUIC 支持
ssl_early_data on;
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header Alt-Svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000'; //谷歌官网的简单模式
add_header Alt-Svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"'; 
add_header 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="43,46"'; //LiteSpeed服务器模式

7、nginx 版本大于等于 1.25

listen 443 ssl;
listen 443 quic reuseport; 
listen [::]:443 ssl;
listen [::]:443 quic reuseport;
http2 on;

add_header Alt-Svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000';

然后重启 Nginx即可生效。

 

四.HTTP3/QUIC配置结果检测地址

http3check.net
https://http3.wcode.net
https://domsignal.com/http3-test
33b9c3a5990428a920110685fb911d94

五.参考文档

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持
Nginx 基于 QUIC 启用 HTTP/3 协议
nginx 配置 http3 (quic 协议基于UDP)
Support for QUIC and HTTP/3
Enabling QUIC / http/3 on multiple domains with NGINX 1.25
caddy 作为反向代理 proxy 来转发
使用 LiteSpeed 轻松为网站开启 HTTP/3 实践

赞(3) 打赏
未经允许不得转载:毛桃博客 » 宝塔安装Nginx 1.26.0 开启支持 HTTP/3 QUIC 协议

评论 抢沙发

评论前必须登录!

 

实践是学习的最佳途径

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

了解更多看平潭

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册