开启 HTTP/3 & QUIC 在 Docker Compose+Nginx

HTTP/3 基于 UDP 的 QUIC 协议,多路复用安全传输
HTTP/1.1 和 HTTP/2 都将 TCP 用作其传输协议

HTTP/3 和 QUIC 具有很多优势:

1.第一个请求的响应时间更短。在客户端和服务器之间以较少的往返次数协商连接,第一个请求会更快地到达服务器。
2.改进了发生连接数据包丢失时的体验。 HTTP/2 通过一个 TCP 连接多路复用多个请求。 如果在连接时发生数据包丢失,会影响所有请求。 这个问题称为“队头阻塞”。 由于 QUIC 提供本机多路复用,因此丢失的数据包只会影响已丢失数据的请求。
3.支持在网络之间转换。对于移动设备非常有用,因为在移动设备更改位置时,在 WIFI 和移动电话网络之间切换是很常见的。 目前,在切换网络时,HTTP/1.1 和 HTTP/2 连接会失败并提示错误。 应用或 Web 浏览器必须重试任何失败的 HTTP 请求。 HTTP/3 让应用或 Web 浏览器在网络发生更改时可以无缝地继续

浏览器端 开启 HTTP/3 & QUIC

谷歌Chrome浏览器 访问:chrome://flags/
启用:Experimental QUIC protocol (enable-quic)

微软新版Edge浏览器 访问:edge://flags
启用:Experimental QUIC protocol 设置为“Enabled”

火狐Firefox浏览器 访问:about:config
启用:network.http.http3.enabled

测试是否已经支持 QUIC:

https://quic.nginx.org/
https://quic.nginx.org/quic.html
https://cloudflare-quic.com/

测试 网站 是否支持

https://http3check.net/
https://geekflare.com/tools/http3-test

服务器端 开启

docker-compose.yml

services:
nginx:
image: registry.gitlab.com/dasskelett/nginx-quic-docker/nginx-quic:latest
container_name: nginx-quic
restart: always
ports:
- "80:80"
- "443:443/tcp"
- "443:443/udp"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- /home/log:/var/log/nginx
- /home/www:/usr/share/nginx/html
- /home/sslcrt/1_www.xxx.com.pem:/etc/nginx/cert.pem:ro
- /home/sslcrt/2_www.xxx.com.key:/etc/nginx/cert.key:ro

nginx.conf

server {
listen 443 quic reuseport;
listen 443 ssl http2;
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
location / {
add_header Alt-Svc 'h3=":443"; ma=86400';
}
}

防风墙 添加 443 udp 端口

原文链接:https://www.cnblogs.com/zengxiangzhan/p/17299057.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:开启 HTTP/3 & QUIC 在 Docker Compose+Nginx - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • ASP.NET Core在WebApi项目中使用MiniProfiler分析Entity Framework Core

    下面是“ASP.NET Core在WebApi项目中使用MiniProfiler分析Entity Framework Core”的完整攻略: 1. 安装MiniProfiler MiniProfiler是一个第三方的性能分析工具,可在github上下载,并通过NuGet包管理器安装。使用以下命令在你的项目中安装MiniProfiler: Install-Pa…

    云计算 2023年5月17日
    00
  • 云原生周刊:Kubernetes 1.27 服务器端字段校验和 OpenAPI V3 进阶至 GA

    开源项目推荐 KubeView KubeView 是一个 Kubernetes 集群可视化工具和可视化资源管理器。它允许用户在集群内部运行命令,并查看集群内部的资源使用情况、容器运行状态、网络流量等。KubeView 支持多种数据源,可以读取 Prometheus、Grafana、Kubernetes 管理等工具的数据,将集群内部的数据可视化。 kube-s…

    云计算 2023年5月8日
    00
  • 支撑StackOverflow运营的网站硬件配置分享

    Stack Overflow是全球最大的程序员问答社区,每天有数百万的程序员在这里交流技术。为了支撑Stack Overflow的运营,需要一定的硬件配置。以下是支撑Stack Overflow运营的网站硬件配置分享的详细攻略: 1. 硬件配置 1.1. 服务器 Stack Overflow使用多台服务器来支撑其运营。其中,主要的服务器配置如下: CPU:I…

    云计算 2023年5月16日
    00
  • Scrapy框架CrawlSpiders的介绍以及使用详解

    Scrapy框架CrawlSpiders介绍 Scrapy是一个高效的Python爬虫框架,它采用异步IO模式,具有强悍的异步网络通信能力,在爬取大规模数据时表现出色。CrawlSpiders是Scrapy框架提供的一种方便易用的爬虫机制,它基于规则匹配和提取,可以便捷的完成数据爬取和处理。CrawlSpiders拥有灵活的爬取方式,可以通过url的正则表达…

    云计算 2023年5月18日
    00
  • python字符串Intern机制详解

    Python字符串Intern机制详解 在 Python 中,字符串是不可变的对象,Python 将字符串对象的值存储在一块内存中,并通过字符串的引用来访问该值。在 Python 的内存管理机制中,Python 为了节省内存空间,对字符串对象采用了 Intern 机制。 一、什么是Intern机制 Intern 是字符串 Intern(symbol inte…

    云计算 2023年5月18日
    00
  • 手机虾米音乐怎么看评论 怎么从歌词切换到评论

    手机虾米音乐是一款非常受欢迎的音乐软件,在听歌的同时,用户也可以查看其他人对歌曲的评论,以及发表自己的听后感。以下是如何查看评论以及如何从歌词切换到评论的完整攻略: 查看评论 打开虾米音乐APP,选择要听的歌曲播放; 在歌曲播放页面,向下滑动页面,直到看到 “评论” 按钮; 点击 “评论” 按钮,即可跳转到评论列表页面,查看其他用户的评论; 在评论页面下方,…

    云计算 2023年5月18日
    00
  • ASP.NET Core开发教程之Logging利用NLog写日志文件

    下面是关于“ASP.NET Core开发教程之Logging利用NLog写日志文件”的完整攻略,包含两个示例说明。 简介 在ASP.NET Core应用程序中,我们可以使用Logging来记录应用程序的日志。NLog是一个流行的日志记录库,可以帮助我们将日志记录到文件、数据库等不同的目标中。在本攻略中,我们将介绍如何使用NLog来记录日志文件。 步骤 在AS…

    云计算 2023年5月16日
    00
  • 数字货币监管是什么意思 需要监管哪些方面

    数字货币监管是什么意思?需要监管哪些方面? 数字货币监管是指政府或相关机构对数字货币市场进行监管和管理的行为。数字货币监管的目的是保护投资者的权益,防范金融风险,促进数字货币市场的健康发展。 需要监管哪些方面? 数字货币监管需要监管以下方面: 交易平台:监管数字货币交易平台,包括注册、备案、风险防范、信息披露等方面。 交易行为:监管数字货币交易行为,包括交易…

    云计算 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部