在 Nginx 1.25+ 中开启 HTTP/3

对于Nginx来说,在编译时需要配置对于的SSL库,不管是HTTP3.0还是HTTP2.0,始终都要基于HTTPS,而加密算法这块主要有OpenSSL来提供,而BoringSSL是谷歌创建的OpenSSL分支,用于支持TLS1.3的UDP协议0-RTT数据传输的加密算法(可以理解成TLS 1.3是标准协议,BoringSSL是实现工具),BoringSSL的一些特性会在合适的时机同步给OpenSSl。Nginx从1.25.0开始支持QUIC和HTTP/3协议。此外,从1.25.0开始,Linux二进制包中提供了QUIC和HTTP/3支持 QUIC和HTTP/3支持是实验性的 安装BoringSSL证书 官方推荐了3种SSL库,参考文档https://nginx.org/en/docs/quic.html 我这里使用BoringSSL 使用 BoringSSL 编译 NGINX,需要满足以下要求: gcc 版本大于6 编译BoringSSL 需要go环境支持 cmake 3版本以上   升级cmake: workon py_env #yum install ninja-build pip install -U cmake   升级gcc至8: 添加源:

yum install devtoolset-8 激活:source /opt/rh/devtoolset-8/enable 此时通过gcc –version命令可以看到,gcc版本已经变成8.x.x,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。   golang安装: wget https://golang.google.cn/dl/go1.21.4.linux-amd64.tar.gz tar -C /usr/local/ -zxvf go1.21.4.linux-amd64.tar.gz   拉取BoringSSL源码 git Read more…