本文 首发于 Anyeの小站,转载请取得作者同意。
前言
这里就不再过多阐述HTTP/3的各种优势,直接进入部署阶段。
准备条件
- 已安装 1Panel 的服务器一台,已经正确配置好了 HTTPS 站点。
- 相关基础知识
警告!!!
OpenResty 中的 HTTP/3 模块目前是实验性的,用于生产环境请使用者自行承担风险。
部署
切换OpenResty镜像版本
在 1Panel 中,打开 应用商店
,找到已安装的 OpenResty,点击 参数
,编辑
,高级设置
,将 image
更改为 openresty/openresty:1.25.3.1-2-focal
,如:
image: openresty/openresty:1.25.3.1-2-focal
确认,重建应用。
编辑站点配置文件
对于默认站点
首先确认你的服务器是否选定了默认站点。
若未设置请跳过。
若设置了默认站点,请先进行其他站点的配置,最后再来看这一部分。
- 点击
配置
进入网站设置,点击配置文件
,在
listen 443 ssl http2 default_server;
的下方添加一行,注意看注释内容:
listen 443 quic reuseport default_server; # 配置HTTP/3的第一个站点写这个,建议设置在根域名站点上。
listen 443 quic default_server; # 非第一个站点写这个
一个 OpenResty 的完整配置文件中只能出现一次 reuseport
参数。
-
Alt-Svc
请求头的添加参考下面的部分 -
保存并重载
一键部署、运行环境、静态网站
- 点击
配置
进入网站设置,点击配置文件
,在
listen 443 ssl http2;
的下方添加一行,注意看注释内容:
listen 443 quic reuseport; # 配置HTTP/3的第一个站点写这个,建议设置在根域名站点上。
listen 443 quic; # 非第一个站点写这个
一个 OpenResty 的完整配置文件中只能出现一次 reuseport
参数。
- 下方找到
add_header Strict-Transport-Security "max-age=31536000";
在这一条下面添加内容:
add_header Alt-Svc 'h3=":443"; ma=2592000';
- 保存并重载
反向代理站点
- 点击
配置
进入网站设置,点击配置文件
,在
listen 443 ssl http2;
的下方添加一行,注意看注释内容:
listen 443 quic reuseport; # 配置HTTP/3的第一个站点写这个,建议设置在根域名站点上。
listen 443 quic; # 非第一个站点写这个
一个 OpenResty 的完整配置文件中只能出现一次 reuseport
参数。
- 在
基本
,反向代理
,点击源文
,在
add_header Strict-Transport-Security "max-age=31536000";
这一条下面添加内容:
add_header Alt-Svc 'h3=":443"; ma=2592000';
- 保存并重载
若以上过程均未报错,恭喜你的配置填写正确!
开放端口
在 主机
,防火墙
中,创建端口规则,放开 UDP 协议的 443 端口。
如果使用的是云服务器,请至安全组开放 UDP 协议的 443 端口。
检测
目前最新版本的各类浏览器均已支持 HTTP/3 的访问,可以在浏览器的开发人员工具 - 网络 - 协议中显示为 H3。
也可以通过 LiteSpeed 提供的站点 测试。
Demo
本站已开启 HTTP/3 访问能力。