当前位置:首页 > IT > 正文内容

宝塔如何开启HTTP3,启用HTTP3使用QUIC进行高性能传输

admin2小时前IT2

HTTP/3的优势解析

随着互联网的发展,HTTP协议也在不断升级,最新的HTTP/3就是一个大升级版本。相比之前的HTTP/1.1和HTTP/2,它在速度、安全性和用户体验上都大有改进。今天我们来聊聊HTTP/3为什么这么厉害,以及它是怎么一步步成了下一代网络主力的。


HTTP/3的背景故事

HTTP/3是基于一种叫QUIC的协议开发的,说白了,QUIC是一个建立在UDP上的“超级连接”协议。以前的HTTP主要靠TCP在传输,而TCP虽然老牌可靠,但它速度不算快,还有些毛病,比如慢启动、多次握手啥的。Google早就看不下去了,就搞了这个QUIC,解决TCP的缺点,又保留HTTP/2那些好用的功能,比如多路复用。


HTTP/3有哪些过人之处?

1. 连接更快,延迟更低


用传统的HTTP连接(比如HTTP/2),要搞很多次“握手”才能开始传数据,尤其是HTTPS,还得先搞定TLS加密,这一来一回特别耽误事儿。


HTTP/3就不一样了。QUIC支持0-RTT(零延迟)握手,也就是说连上一次后,再次访问的时候,数据能直接发,不需要重复那些复杂流程。少了等待时间,速度立马提上去。


2. 更稳定,不怕掉包


用HTTP/2时,如果一个数据包丢了,那整个TCP连接都会卡住,其他请求也跟着受拖累(这叫“队头阻塞”)。这对不稳定的网络,比如移动网络,简直是灾难。


HTTP/3直接甩掉了这个问题。QUIC把每条数据流分开管理,丢一个包也不会影响其他流,网页不会突然卡住,体验更流畅。


3. 天生更安全


HTTP/3天生就集成了TLS加密,而且用的是最新的TLS 1.3版本。以前的HTTP/2是加了一层“外挂”来实现加密的,而HTTP/3直接把安全性做到骨子里了。


这有什么好处?


更安全:每个HTTP/3连接都默认加密,隐私保护更好。


更快:少了加密流程中的重复步骤,连接速度也更快了。


4. 特别适合移动网络


用手机上网的时候,经常会切换网络,比如Wi-Fi换4G,这种情况用传统的TCP连接就很容易断掉,需要重连,特麻烦。


HTTP/3的QUIC协议用了一个叫连接ID的东西,网络切换时还能保持原来的连接,不需要重新来过。结果就是连接更稳定,特别适合移动场景。


5. 降低服务器压力,省钱


虽然HTTP/3实现起来比HTTP/2复杂,但它能让服务器省不少力,比如:


连接快了,服务器处理效率更高,CPU消耗更少。


队头阻塞没了,带宽利用率也更高。


对于那些内容分发网络(CDN)或者流媒体服务来说,这些改进能省下不少运营成本。


6. 用户体验更棒


最直观的感受就是——网页加载更快,视频播放更顺畅,连接更稳。对于普通用户来说,这些看得见的变化就是HTTP/3最大的魅力。


HTTP/3就是为解决旧HTTP的各种痛点而生的,它连接快、不怕掉包、还自带更强的安全性。对于用户来说,体验就是更快更稳更顺滑,而对于企业来说,效率更高还能省钱。虽然它普及还需要一点时间,但毫无疑问,HTTP/3已经是未来网络通信的趋势了。


宝塔开启HTTP3

首先确认你的宝塔Nginx版本。我们在首页找到nginx。



nginx


要求使用1.25.5及以上版本。


如果版本不够,点击进去可以切换版本



切换版本


修改配置文件

我们需要ngnix支持http3,我们需要修改server块的内容。


进入nginx的配置更改位置,插入下面的配置:



ssl_early_data


Code

1

ssl_early_data on;

注意!开启此项请确保项目能够防止重放攻击。


设置SSL版本

进入网站的高级设置



高级设置


关闭TLS的旧版本。(TLS1.1及之前的版本)



关闭旧版本


开放443端口UDP

我们进入安全设置开启443的UDP端口。



开启端口


进入云服务商开启端口

如果你是云服务器,还需要在云服务商开启端口,即使你印象里已经开启,也需要去检查一下。开启443的UDP。



开启端口


为需要的网站添加QUIC监听


添加监听


我们只需要在需要支持HTTP3的网站中添加一行


第一次添加的网站


Code

1

listen  443 quic reuseport;

以后添加的网站


Code

1

listen  443 quic;

即可。


如果你的服务器有ipv6支持(反正我的没有),通过添加下面的两行可以增加ipv6支持:


Php

1

2

listen  [::]:443 ssl;

listen  [::]:443 quic;

修改宝塔自带的h3配置

宝塔自己会给每一个网站添加一行不带有h3的h3 header,导致浏览器无法识别:



h3问题


Code

1

add_header Alt-Svc 'quic=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';

我们需要更改为:


Code

1

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传输。如果没有的话是不支持的。


但是你可以通过这个文章来绕过这个限制实现HTTP3传输。


大功告成

我们可以到 https://http3.wcode.net/ 来检测网站是否支持。



http3检测


也可以到 https://http3check.net/ 来检测。(由秋风于渭水提供)



检测


浏览器支持

通过检测网站来看还是不直观,所以我们可以在浏览器的控制台中查看。f12进入控制台,在网络标签中,下面传输数据的标题栏右键,开启协议



查看传输协议


我们就可以看到使用的是h3传输了。


如果你没有使用h3传输,还需要查看是否是浏览器不支持。


首先确保你使用最新版本浏览器,chromium内核的浏览器访问:chrome://flags搜索QUIC,启用Experimental QUIC protocol



启用quic


另外啊,要是你用了网络代理,系统代理的 HTTP 和 SOCKS5 都不能转发 UDP 流量,所以想用 H3 的话,那就只能把代理关了。这非常的麻烦,但是可以通过支持自动切换的代理插件实现仅在需要的站点启用。这里就不赘述了。


参考文章

宝塔Nginx开启支持HTTP3/QUIC协议


教程:宝塔编译Nginx开启HTTP/3


[技术教程]宝塔Nginx开启支持HTTP3/QUIC协议 - 简易教程


Nginx 启用 QUIC 与 Brotli 的完整教程(宝塔面板8.0.6)


使用nginx 1.25开启 HTTP/3 支持


本站已接入 HTTP3/QUIC


Linux 自我运维 - Nginx 1.25.2 源码编译并启用 HTTP3


扫描二维码推送至手机访问。

版权声明:本文由小龙的博客发布,如需转载请注明出处。

本文链接:https://xl.cndyun.com/post/823.html

“宝塔如何开启HTTP3,启用HTTP3使用QUIC进行高性能传输” 的相关文章

本地权限提升漏洞 “Stack Clash”处理方案

近日,国外安全厂商研究人员发现Linux、BSD、Solaris 和其它开源系统存在一个本地权限提升漏洞 “Stack Clash”(漏洞编号为 CVE-2017-1000364) ,攻击者可以利用该漏洞获取 root 权限进行代码执行。腾讯云安全中心建议您及时关注官方漏洞补丁更新情况并开展安全修复...

Linux 实例 SSH 连接安全组设置

Linux 实例 SSH 连接安全组设置

安全组设置允许 SSH 登录到 Linux 实例分为两种情况:场景 1:经典网络环境允许 SSH 登录到 Linux 实例场景 2:专有网络(VPC)环境允许 SSH 登录到 Linux 实例场景 1:经典网络环境允许 SSH 登录到 Linux 实例允许公网 SSH 登录到 Linux 实例1.只...

alphassl再见!Letsencrypt即将支持免费通配符证书申请

alphassl再见!Letsencrypt即将支持免费通配符证书申请

免费ssl证书已经有很多选择,但是如果弄个泛域名证书是不是看起来更高大上。一个免费alphassl泛域名证书在线自助签发平台https://assl.loovit.net/,原价要149刀,但是通过这个平台申请是免费的。作者多个域名已申请AlphaSSL通配符证书,免费1年,之前也知道因为是野卡证书...

第三方团队公布适配安卓8.0列表,多达22个品牌,上百款机型

第三方团队公布适配安卓8.0列表,多达22个品牌,上百款机型

近日,谷歌官方的Andriod 8.0 已经开始推送给手机用户,开放系统源码后,第三方的Lineage 团队是 Android 第三方 ROM CyanogenMod 团队解散后的后继者。 Lineage 团队已经开始着手适配安卓8.0的工作,推出基于Oreo的新版本LineageOS 15.0。官...

牵手公益客户端上线

牵手公益客户端上线

app测试版下载地址:http://app.wlong.pw/qsgy/Qsgy1.apk...

升级优化公告20170906

2017年9月4日app上线取消了首页音乐自动缓存机制,减少流量损耗优化视频代码使视频可以自适应屏幕大小对视频网站链接做CDN HTTPS加速,同时添加视频防盗链实现视频播放可拖拽,高速访问...