LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

news2024/10/6 2:31:42

前几天 Nginx 1.26.0 主线版发布了,明月总算抽出时间更新了,那么自然的也要尝试一下开启 HTTP/3 QUIC 支持了,今天就给大家分享一下。对于我们的网站来说开启 HTTP/3 QUIC 最大的好处是页面载入速度的提升,尤其是在支持 HTTP/3 QUIC 的浏览器下表现相当的出众,页面间的切换几乎都是闪现。

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

Nginx 自从 1.25.X 主线版开始就已经支持 HTTP/3 QUIC 了,这次 Nginx 1.26.0 算是进一步完善了 HTTP/3 QUIC,要在 Nginx1.26.0 里开启 HTTP/3 QUIC 支持,我们只需要升级到 Nginx 1.26.0 的时候加入--with-http_v3_module这个编译参数即可,像 LNMP 一键安装包、宝塔面板里都是如此。注意,默认升级 Nginx 1.26.0 是没有这个编译参数的,必须要手动添加这个参数。参加这个参数后编译升级 Nginx 过程会相对增加,所以大家耐心等待即可。

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

编译完成后,你的 Nginx 1.26.0 就已经支持 HTTP/3 QUIC 了,我们就可以在 Nginx 站点配置文件里开启 HTTP/3 QUIC 了,在 Nginx 站点配置文件里添加listen 443 quic reuseport;来增加监听 443 端口的 UDP 协议(这个大家可以参考【OpenLiteSpeed 如何正确的开启 HTTP/3 QUIC】一文里专门强调的开启 443 端口 UDP 协议方法),如下图所示:

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

可以看到添加完成后是两条listen,这就对了,要的就是这个效果。并且就算你有多个站点,也只需要添加这一次,其他站点 Nginx 配置文件里就不用添加这段了。只需要同样的添加下面的语句:

#开启 HTTP/3 QUIC 支持
add_header Alt-Svc 'h3=":443"; ma=86400';
ssl_early_data on;

就可以了,保存配置文件,重启 Nginx 就完成开启 HTTP/3 QUIC 了。去 HTTP/3 CHECK 检测你的网址看看是不是已经支持 HTTP/3 QUIC 了:

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

浏览器对 HTTP/3 QUIC 的支持情况,据明月自己实测手机端 Edge、国内 360 极速浏览器都是支持的,开启 HTTP/3 QUIC 后,首次载入网页可能会存在没有生效,但只要再次重新载入页面就会显示是 QUIC 了

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

这就是在手机端 Edge 上显示效果

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

这是 PC 端 360 极速浏览器上的现实效果

有站长说国内运营商不支持 HTTP/3 QUIC 或者说封杀 HTTP/3 QUIC,明月实测后发现并不是这样的,有些地区出现浏览器打开开启 HTTP/3 QUIC 支持的站点不显示“该连接使用 QUIC”的罪魁祸首其实是本地电脑的 DNS 缓存过于陈旧造成的(因为 HTTP/3 QUIC 需要 443 端口支持 UDP 协议,都是单独开启的,所以就要求 DNS 解析记录必须是及时更新的),这个我在【亲,你有多久没有清理过你电脑的 DNS 缓存了?】一文里专给大家讲过了,有兴趣的可以移步去了解一下,定期清理一下自己电脑的 DNS 缓存尤其是在国内绝对是个好习惯的。

浏览器开启 HTTP/3 QUIC 支持的方法

Google Chrome - 在浏览器上访问 chrome://flags/#enable-quic,找到”Experimental QUIC protocol”,并启用之(Enabled)。

Microsoft Edge - 在浏览器上访问 edge://flags/#enable-quic,找到”Experimental QUIC protocol”,并启用之(Enabled)。

Firefox - 在浏览器上访问 about:config,然后搜索”network.http.http3.enable”,并点击对应行末尾的切换图标,启用之(true)。

Safari - 最新版本的 Safari 已经自动支持 HTTP/3,无需任何额外配置。

LNMP 环境下 Nginx 1.26.0 开启 HTTP/3 QUIC 支持

对于使用了国内 CDN 的站点来说,这个 Nginx 里开启 HTTP/3 QUIC 后可能是没有效果的,因为还需要 CDN 层面的支持,国内支持 HTTP/3 QUIC 的好像只有七牛、又拍云,国外 CloudFlare 免费支持 HTTP/3 QUIC 开启的,并且只要 CDN 支持 HTTP/3 QUIC,源站开没开启 HTTP/3 QUIC 都是可以的,所以本文更多的是处于技术学习的范畴了,毕竟现在网站没有 CDN 的保护是不敢想象的,裸奔的服务器和网站在现在的国内互联网生态里太少见了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1669276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓模拟器怎么修改ip地址

最近很多老铁玩游戏的,想多开模拟器一个窗口一个IP,若模拟器窗口开多了,IP一样会受到限制,那么怎么更换自己电脑手机模拟器IP地址呢,今天就教大家一个修改模拟器IP地址的方法!废话不多说,直接上…

牛客NC363 开锁【中等 BFS Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/e7cbabbf7e0a41ec98055ee5f3d33bbe https://www.lintcode.com/problem/796 思路 Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改&#x…

文件系统(未打开的文件)

之前我们讲述的一些文件操作都是在文件被打开的基础上的,因为用户想要对某个文件做操作的话,这个文件一定是被打开的,也就是一定是内存级的文件。 但是有的没有被操作的文件,是在磁盘中的,我们的笔记本是在SSD中&…

Debian Linux 下给Nginx 1.26.0 编译增加Brotli算法支持

明月发现参考【给Nginx添加谷歌Brotli压缩算法支持】一文给出的方法,在Debian Linux 12.5下就一直编译失败,主要的错误是因为文件缺失,在专门又安装了apt-get install libbrotli-dev的依赖库后依然会因为文件缺失无法编译完成,就这…

JCR一区 | Matlab实现1D-2D-GASF-CNN-BiLSTM-MATT的多通道输入数据分类预测

JCR一区 | Matlab实现1D-2D-GASF-CNN-BiLSTM-MATT的多通道输入数据分类预测 目录 JCR一区 | Matlab实现1D-2D-GASF-CNN-BiLSTM-MATT的多通道输入数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 Matlab实现1D-2D-GASF-CNN-BiLSTM-MATT的多通道输入数据分类预…

Postman基础功能-常见类型的接口请求

天空灰暗到一定程度,星辰就会熠熠生辉。大家好,之前给大家分享了关于 Postman 工具的介绍以及安装,在当今数字化的时代,接口请求在软件开发和系统集成中扮演着至关重要的角色。而 Postman 作为一款强大且广受认可的接口测试工具&a…

信息系统项目管理师0105:项目评估与决策(7项目立项管理—7.3项目评估与决策)

点击查看专栏目录 文章目录 7.3项目评估与决策1.评估依据2.评估的程序3.项目评估的内容4.项目评估报告内容大纲记忆要点总结7.3项目评估与决策 项目评估指在项目可行性研究的基础上,由第三方(国家、银行或有关机构)根据国家颁布的政策、法规、方法、参数和条例等,从国民经济…

Java | Leetcode Java题解之第77题组合

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> temp new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> combine(int n, int k) {List&l…

[Spring Cloud] (7)gateway防重放拦截器

文章目录 简述本文涉及代码已开源Fir Cloud 完整项目防重放防重放必要性&#xff1a;防重放机制作用&#xff1a; 整体效果后端进行处理 后端增加防重放开关配置签名密钥 工具类防重放拦截器 前端被防重放拦截增加防重放开关配置请求头增加防重放签名处理防重放验证处理函数bas…

信息系统项目管理师0104:详细可行性研究(7项目立项管理—7.2项目可行性研究—7.2.3详细可行性研究)

点击查看专栏目录 文章目录 7.2.3详细可行性研究1.详细可行性研究的依据2.详细可行性研究的原则3.详细可行性研究的方法4.详细可行性研究的内容5.详细可行性研究报告记忆要点总结7.2.3详细可行性研究 详细可行性研究是在项目决策前对与项目有关的技术、经济、

14.CAS原理

文章目录 CAS原理1.什么是CAS2.Unsafe类中的CAS方法2.1.获取UnSafe实例2.2.调用UnSafe提供的CAS方法2.3.调用Unsafe提供的偏移量相关2.4.CAS无锁编程2.4.1.使用cas进行无锁安全自增案例 CAS原理 由于JVM的synchronized重量级锁设计操作系统内核态下的互斥锁的使用&#xff0c;其…

Web安全:SQL注入之布尔盲注原理+步骤+实战操作

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…

5款可用于LLMs的爬虫工具/方案

5款可用于LLMs的爬虫工具/方案 Crawl4AI 功能: 提取语义标记的数据块为JSON格式&#xff0c;提供干净的HTML和Markdown文件。 用途: 适用于RAG&#xff08;检索增强生成&#xff09;、微调以及AI聊天机器人的开发。 特点: 高效数据提取&#xff0c;支持LLM格式&#xff0c;多U…

天龙怀旧游戏python脚本

设置图&#xff1a; 游戏窗口最大化。 海贼洞这里定位你要回点的定位。 运行bat就行&#xff0c;脚本出错了还是会重新运行脚本&#xff0c;运行自动启动&#xff0c;end暂停脚本&#xff0c;home重新启动脚本 1. 我常用的是内挂回点脚本&#xff0c; 下面都是前台脚本&…

【适用全主题】WordPress原创插件:弹窗通知插件 支持内容自定义

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 适用于所有WordPress主题的弹窗插件 一款WordPress原创插件&#xff1a;弹窗通知插件 支持内容自定义 二、效果展示 1.部分代码 代码如下&#xff08;示例&#xff09;&#xff1…

Oracle如何收缩减小表空间大小

比如我们发现一个表空间占用比较大&#xff0c;但是空闲空间很大&#xff0c;想要减小表空间占用大小。查看表空间的情况 发现BETEST表空间占用大&#xff0c;但是剩余大小比较大&#xff0c;可以减小存储占用。 如果我们想减小到100MB&#xff0c;那么就登录其用户执行&#…

Python | Leetcode Python题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution:def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:sml_dummy, big_dummy ListNode(0), ListNode(0)sml, big sml_dummy, big_dummywhile head:if head.val < x:sml.next headsml sm…

IDEA及Maven配置代理及Maven中央仓库配置详解

一、配置代理 首先&#xff0c;需要本地开启代理入口&#xff0c;如图。 这个跟你使用代理软件有关。像我使用的是qv2ray。 其次&#xff0c;idea配置代理&#xff0c;如图。 1.1 idea配置代理 打开Settings&#xff0c;如图 1.2 maven配置代理 maven配置代理&#xff0c;修…

【JavaEE】Spring Boot 入门:快速构建你的第一个 Spring Boot 应用

目录 第一个SpringBoot程序介绍项目创建创建项目目录介绍输出Hello World 第一个SpringBoot程序 介绍 在学习SpringBoot之前, 我们先来认识⼀下Spring 我们看下Spring官⽅(https://spring.io/)的介绍 可以看到, Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单…

Android 系统全局Bug日志监听

一、Android DropBox Android用来持续化存储系统数据的一个管理类&#xff0c;主要用于记录Android运行过程中&#xff0c;内核、系统j进程、用户进程等出现严重问题时的Log&#xff0c;可以认为它就是一个可持续存储系统级别的Logcat. 日志储存位置&#xff1a;/data/system…