前言
网站从更新到TYPECHO1.2.1后一直使用HTTP2协议
虽然有所提速,但目前看到HTTP3协议感觉更好
趁有空更新一下HTTP3协议吧
升级NGINX
因为在1.25后的版本才支持,所以我们需要升级Nginx
1、我是BT面版,在后台找到软件商店-Nginx-设置-切换版本,选择1.26,然后系统会自动安装新版本
2、其他发行版可以按自己的安装试更新
修改配置
1、找一个默认的站点修改为如下配置
listen 80 default_server;
listen 443 ssl;
listen 443 quic reuseport;
listen [::]:443 ssl;
listen [::]:443 quic reuseport;
http2 on;
注:在默认站点或其他站点配置reuseport,正式站点不用配置这个参数
2、修改自己正式站的配置为如下
listen 80;
listen 443 ssl;
listen 443 quic;
listen [::]:443 ssl;
listen [::]:443 quic;
http2 on;
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"';
打开端口
在BT面版中放行443的TCP和UDP端口
注:UDP一定要放开!
Hystira2共存
进行上述操作后你会发现Hystira2无法连接
原因是BT面版执行放开端口的操作会重写iPtables的规则
导致之前配置的Hystira2的端口跳跃功能可能无效
所以重新执行一下
iptables -t nat -A PREROUTING -i eth* -p udp --dport XXX:XXX-j REDIRECT --to-ports XXX
ip6tables -t nat -A PREROUTING -i eth* -p udp --dport XXX:XXX-j REDIRECT --to-ports XXX
这里注意把XXX改为你自己的Hystira2监听端口,eth*改为你自己的eth端口,如eth0
就可以了
检测
打开https://http3check.net/和https://http3.wcode.net/检查结果