HTTP/3 的优势
背景故事
HTTP/3 是基于 QUIC 协议开发的。QUIC 是一种建立在 UDP 上的“超级连接”协议,而之前的 HTTP 主要依赖 TCP 进行传输。TCP 虽然可靠,但速度较慢,存在诸如慢启动、多次握手等问题。Google 为了解决 TCP 的这些缺点,开发了 QUIC,同时保留了 HTTP/2 的多路复用等功能。
过人之处
- 连接更快,延迟更低:传统的 HTTP 连接需要多次“握手”才能开始传输数据,尤其是 HTTPS,还需先完成 TLS 加密,这一过程会耗费大量时间。而 HTTP/3 的 QUIC 支持 0-RTT(零延迟)握手,即在首次连接后,再次访问时数据可直接发送,无需重复复杂的流程,从而减少了等待时间,提升了速度。
- 更稳定,不怕掉包:在 HTTP/2 中,若一个数据包丢失,整个 TCP 连接都会卡住,其他请求也会受到影响,这就是所谓的“队头阻塞”。对于不稳定的网络,如移动网络,这一问题尤为严重。HTTP/3 则不存在这一问题,QUIC 可将每条数据流分开管理,一个数据包的丢失不会影响其他流,网页加载更加流畅。
- 天生更安全:HTTP/3 集成了 TLS 加密,且采用的是最新的 TLS 1.3 版本。与 HTTP/2 不同,HTTP/3 将安全性融入其中,每个连接都默认加密,隐私保护更好,且减少了加密流程中的重复步骤,连接速度也更快。
- 特别适合移动网络:在使用手机上网时,网络切换较为频繁,如从 Wi-Fi 切换到 4G。传统的 TCP 连接在这种情况下很容易断开,需要重新连接。而 HTTP/3 的 QUIC 协议通过使用连接 ID,可在网络切换时保持原连接,无需重新连接,从而提高了连接的稳定性,非常适合移动场景。
- 降低服务器压力,省钱:虽然 HTTP/3 的实现比 HTTP/2 更为复杂,但它能提高服务器的处理效率,减少 CPU 消耗,提高带宽利用率,从而降低运营成本。对于内容分发网络(CDN)或流媒体服务等来说,这些改进能节省不少费用。
- 用户体验更棒:用户最直观的感受是网页加载更快,视频播放更顺畅,连接更稳定。HTTP/3 解决了旧 HTTP 的诸多痛点,连接快速、稳定且安全,为用户带来了更好的体验。
宝塔面板开启 HTTP/3 的步骤
确认 Nginx 版本
在宝塔面板首页找到 Nginx,确认其版本为 1.25.5 及以上。如果版本较低,可点击进入切换版本。
修改配置文件
进入 Nginx 的配置更改位置,插入以下配置:
ssl_early_data on;
注意:开启此项需确保项目能够防止重放攻击。
设置 SSL 版本
进入网站的高级设置,关闭 TLS 的旧版本(TLS 1.1 及之前的版本)。
开放 443 端口 UDP
进入安全设置,开启 443 的 UDP 端口。
进入云服务商开启端口
如果使用的是云服务器,需在云服务商处开启端口,即使之前已开启,也需再次检查,确保 443 的 UDP 端口已开启。
为需要的网站添加 QUIC 监听
在需要支持 HTTP/3 的网站中添加以下配置:
- 第一次添加的网站:listen 443 quic reuseport;
- 以后添加的网站:listen 443 quic;
如果服务器支持 IPv6,可通过添加以下两行来增加 IPv6 支持:
listen [::]:443 ssl;
listen [::]:443 quic;
修改宝塔自带的 h3 配置
宝塔会为每个网站添加一行不带有 h3 的 h3 header,导致浏览器无法识别。需将其更改为:
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"';
如果使用 Nginx 反代
如果使用 Nginx 反代而非本身的传输,需实现全链路 QUIC 传输,否则不支持。但可通过相关文章介绍的方法绕过此限制实现 HTTP/3 传输。
检测配置结果
可使用以下网站检测网站是否支持 HTTP/3:
浏览器支持
在浏览器中,可通过以下步骤查看是否使用 h3 传输:
- 按 F12 键进入控制台。
- 在网络标签中,右键点击传输数据的标题栏,开启协议。
若未使用 h3 传输,需检查以下几点:
- 确保使用的是最新版本的浏览器。
- 对于 Chromium 内核的浏览器,访问
chrome://flags
,搜索 “QUIC”,启用 “Experimental QUIC protocol”。 - 如果使用了网络代理,系统代理的 HTTP 和 SOCKS5 无法转发 UDP 流量,需关闭代理,或者使用支持自动切换的代理插件,仅在需要的站点启用。
以上就是通过宝塔面板开启 HTTP/3 的详细教程,希望对大家有所帮助。
- All rights reserved.
- No part of this website, including text and images, may be reproduced, modified, distributed, or transmitted in any form or by any means, without the prior written permission of the author.
- Unauthorized commercial use is strictly prohibited.
- Unauthorized personal use is strictly prohibited.