在追求网站极致速度的今天,HTTP/3协议无疑是前端性能优化的前沿技术。作为HTTP/2的继任者,HTTP/3基于QUIC协议,通过UDP传输,旨在解决HTTP/2在TCP队头阻塞等问题,带来更低的延迟和更高的传输效率。对于使用OpenLiteSpeed (OLS) 或 LiteSpeed Web Server (LSWS) 的用户来说,好消息是LiteSpeed是首个提供生产级HTTP/3支持的Web服务器,而且开启它通常非常简单!
主题铺今天就带你了解如何在你的OpenLiteSpeed/LiteSpeed Web Server环境上启用HTTP/3,并进行验证和故障排除。
HTTP/3与QUIC:为何选择LiteSpeed?
HTTP/3的前身被称为“HTTP over QUIC”。QUIC最初是Google为了改进HTTP/2而开发的,它在UDP协议上实现了加密传输和流多路复用。后来,IETF(互联网工程工程任务组)开始将其标准化,并拆分为传输协议(QUIC)和应用协议(HTTP/3)。
LiteSpeed Web Server一直紧跟协议标准的演进,保持其HTTP/3实现的先进性。主题铺认为,选择LiteSpeed系列服务器,意味着你能更容易地享受到HTTP/3带来的性能红利。
开启HTTP/3的必要条件
在LiteSpeed上启用HTTP/3,需要满足以下两个基本条件:
- HTTPS连接并使用受信任的SSL证书:HTTP/3是基于TLS加密传输的,因此你的网站必须通过HTTPS访问,并且使用的SSL证书需要被浏览器信任(不能是自签名证书)。
- 防火墙开放UDP端口443:QUIC协议运行在UDP之上,使用的是标准HTTPS端口443。你需要确保服务器的防火墙允许UDP 443端口的传入和传出连接。
如何在OpenLiteSpeed/LiteSpeed Web Server上启用HTTP/3
对于大多数OpenLiteSpeed和LiteSpeed Web Server的安装来说,启用HTTP/3(QUIC)的过程异常简单:
只需开放UDP端口443!
LiteSpeed Web Server通常默认已开启QUIC支持。只要你的网站满足HTTPS条件,并且UDP 443端口畅通,支持HTTP/3的浏览器(如Chrome、Opera新版本)就会自动尝试使用HTTP/3协议连接你的网站。
主题铺提示:如果你使用的是LiteSpeed Control Panel,对于Apache HTTPS虚拟主机,QUIC默认也是开启的,同样只需要开放UDP 443端口。
开放防火墙的UDP 443端口
大多数情况下,TCP 443端口已经为HTTPS开放了。你需要额外确保UDP 443端口也已开放。具体操作取决于你使用的防火墙软件:
检查UDP 443端口是否正在监听:
你可以运行以下命令快速检查LiteSpeed进程是否正在监听UDP 443端口:
sudo netstat -lupn | grep 443如果输出中包含类似 udp ... :::443 ... litespeed 的行,说明LiteSpeed正在监听该端口。
配置你的防火墙:
你需要确定你的服务器正在运行哪种防火墙,如 firewalld、iptables、csf 或其他外部防火墙。
使用CSF (ConfigServer Security & Firewall):
如果你使用CSF,需要编辑其配置。导航到 ConfigServer Security & Firewall -> csf - ConfigServer Firewall -> Firewall Configuration -> IPv4 Port Settings,然后在 UDP_IN 和 UDP_OUT 的列表中添加 443。
同时,确保UDPFLOOD选项设置为Off (0),避免UDP流量被限速影响HTTP/3连接。
使用iptables:
执行以下命令开放UDP 443端口,并保存、重启iptables服务:
sudo iptables -I INPUT -p udp --dport 443 -j ACCEPT
sudo /sbin/service iptables save
sudo /sbin/service iptables restart使用firewalld:
sudo firewall-cmd --zone=public --add-port=443/udp --permanent
sudo firewall-cmd --reload其他防火墙:请参考对应防火墙软件的文档,开放UDP 443端口。
测试UDP连接是否畅通
即使你在服务器上开放了UDP 443,数据中心或上游网络也可能在路由、交换机或外部防火墙层面阻止UDP流量 。你可以通过以下方法进行测试:
从另一台UDP 443端口开放的服务器向你的服务器发送UDP包:
使用另一台服务器执行(将YOUR_SERVER_IP替换为你网站服务器的IP):
nc -z -v -u YOUR_SERVER_IP 443在你的网站服务器上检查是否收到UDP包:
在你的网站服务器上执行(将eth0替换为你服务器的主要网卡名称):
sudo tcpdump -i eth0 -A -s0 port 443 and udp如果收到了UDP包,你应该能看到类似 ... UDP, length 1 的输出。你也可以反向操作,测试从你的服务器到测试服务器的UDP出站连接。
验证HTTP/3是否已启用
开放端口后,你需要验证网站是否确实通过HTTP/3服务。
- 使用在线HTTP/3检查工具:
有很多免费的在线工具可以检查网站的HTTP/3支持情况,例如http3check.net,地址是:https://http3check.net/。输入你的网站URL,工具会告诉你是否支持QUIC和HTTP/3,并提供详细连接信息。 - 使用浏览器扩展:
一些浏览器扩展也能直观显示当前页面使用的协议。例如,Chrome或Mozilla的HTTP Indicator扩展会在工具栏显示一个闪电图标 。蓝色表示HTTP/2,橙色表示HTTP/3。将鼠标悬停在图标上,可以看到具体的协议信息。访问你的网站,并刷新页面(可能需要强制刷新,如Ctrl+Shift+R),查看图标颜色是否变为橙色。
故障排除清单
如果HTTP/3(QUIC)未能正常工作,主题铺建议你按以下清单进行排查:
- 确保QUIC在LiteSpeed配置中已启用:通常默认是开启的,但如果手动修改过配置,需要检查。QUIC可以在虚拟主机、监听器或服务器级别控制。如果任何更高级别(如服务器或监听器)明确禁用了QUIC,那么更低级别(如虚拟主机)将无法开启。
- 使用支持QUIC的浏览器:目前主要有Chrome和Opera的新版本支持QUIC。有时Chrome可能需要手动在
chrome://flags中启用QUIC。 - 使用受信任的SSL证书:自签名证书无法工作。
- 正确配置SSL设置:确保SSL相关配置没有问题。
- 防火墙开放UDP 443端口:包括服务器自身的防火墙和上游网络/云服务商的安全组。
- 检查CSF的UDPFLOOD和LF_SPI设置:如果使用CSF,确保UDPFLOOD设置为0,LF_SPI也设置为0。
- 避免使用某些反向代理CDN:像Cloudflare这类CDN,虽然客户端可能支持QUIC,但目前(撰写时)大多数CDN不支持后端服务器使用QUIC连接。如果你使用了这类CDN,需要暂时禁用它才能测试和使用LiteSpeed的HTTP/3。QUIC.cloud是LiteSpeed自家的CDN,它支持后端QUIC连接。
- 清除浏览器缓存:有时浏览器缓存了旧的SSL信息可能导致连接问题,尝试清除浏览器缓存。
- 检查LiteSpeed版本:确保你的LSWS版本支持你使用的浏览器QUIC版本。例如,LSWS 5.2.8就不再支持Chrome旧的QUIC版本(quic/39),而Chrome只说quic/43。
控制HTTP/3的开关 (高级)
虽然通常默认开启,但你也可以通过LiteSpeed的配置文件(如httpd.conf,或通过OLS/LSWS Web Admin Console)来显式控制HTTP/3等协议的启用状态,使用 SpdyEnabled 指令。
禁用所有协议:
<IfModule LiteSpeed>
SpdyEnabled off
</IfModule>仅启用HTTP/2和HTTP/3:
<IfModule LiteSpeed>
SpdyEnabled http2 http3
</IfModule>HTTP 协议默认启用,而 SPDY 协议默认禁用。
| 范围 | 功能 | 默认值 |
|---|---|---|
spdy2 | 启用 SPDY/2 | 已禁用 |
spdy3 | 启用 SPDY/3 | 已禁用 |
http2 | 启用 HTTP/2 | 已启用 |
http3 | 启用 HTTP/3 | 已启用 |
off | 禁用所有协议 |
主题铺提示:当你显式指定启用某些协议时,未列出的协议会被禁用。例如,Spdy Enabled http2 会禁用HTTP/3,请小心使用,避免误禁。这里主题铺就举例,当时设置了各种加速,但是HTTP/3无法启用。后来检查是ALPN的各种协议都勾选了导致无法启用HTTP/3,如下
![图片[1]-OpenLiteSpeed/LiteSpeed Web Server开启HTTP/3图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250516204426192.png/ztp)
所以需要将SPDY/2和SPDY/3都去掉勾选
![图片[2]-OpenLiteSpeed/LiteSpeed Web Server开启HTTP/3图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250516204430267.png/ztp)
然后保存,重启OpenLiteSpeed
![图片[3]-OpenLiteSpeed/LiteSpeed Web Server开启HTTP/3图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250516204433729.png/ztp)
再用浏览器检查页面,已成功启用HTTP/3了。
![图片[4]-OpenLiteSpeed/LiteSpeed Web Server开启HTTP/3图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250516204436346.png/ztp)
再通过网站检查,已成功启用了,如下
![图片[5]-OpenLiteSpeed/LiteSpeed Web Server开启HTTP/3图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250516204441488.png/ztp)
最后总结
在OpenLiteSpeed/LiteSpeed Web Server上开启HTTP/3,通常只需要确保你的网站使用HTTPS和受信任证书,并开放防火墙的UDP 443端口即可。LiteSpeed默认的QUIC支持能让你快速享受到新协议带来的性能优势。主题铺认为,对于希望进一步提升网站加载速度的用户来说,启用HTTP/3是一个非常值得尝试的优化手段。按照本教程的步骤进行配置和验证,让你的网站在速度上更胜一筹吧!

















暂无评论内容