nginx-quic是nginx正在开发中的支持http3的版本
目前网上大部分的文章都是基于源码编译安装的
但对于我这种只有一台垃圾服务器的玩家,源码编译不太现实
找了好久,终于找到一个可以直接yum安装的版本:
https://copr.fedorainfracloud.org/coprs/ryoh/nginx-quic/
其他发行版可能还是要源码编译。。。
安装后感觉是访问变快了,也可能是心理作用吧
安装
For CentOS 7
1 | sudo yum install epel-release |
For CentOS 8
1 | sudo dnf install epel-release |
备注:nginx 与 nginx-quic 不能共存,注意备份数据
配置:
在server{}
中添加
1 | listen 443 http3 reuseport; # UDP listener for QUIC+HTTP/3 |
检测是否成功
Firefox启动
about:config
network.http.http3.enabled
设置为true
报错处理
首次启动失败
1
nginx: [emerg] cannot load certificate "/etc/pki/tls/certs/localhost.crt": BIO_new_file() ...
是因为在
/etc/nginx/vhost.d/http/00-default.conf
有配置本地签名
可以将其改名00-default.conf_bak
或者在本地生成一个证书1
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/localhost.key -out /etc/ssl/certs/localhost.crt
nginx: [emerg] unknown "http3" variable
将 server{}配置中的1
add_header Alt-Svc '$http3=":443"; ma=86400'; # Advertise that QUIC is available
改成
1
add_header Alt-Svc 'h3-27=":443"; h3-28=":443"; h3-29=":443"; ma=86400; quic=":443"';
并且将log_format.conf(/etc/nginx/conf.d/http)中的
$http3
去掉