关于http3/quic,老白之前在“WordPress宝塔面板编译nginx1.25开启http3/quic”一文说过它的好处,更快的加载,更低的消耗。不过当时宝塔官方并未上架nginx1.25的版本,需要自己慢慢鼓捣,还容易出错。最近老白发现宝塔软件商店已经推出了nginx1.25-1.27的版本,大家安装开启http3就变得非常简单了。再稍微搞一个brotli压缩,整个服务器端的WordPress优化基本就够了。
[h1]0.说明/注意[/h1]
老白推荐的顺序是,先在安装的时候添加brotli模块编译,然后再进行http3/quic的相关设置
[h1]1.编译brotli压缩[/h1]
Brotli是Google推出的开源压缩算法,通过变种的LZ77算法、Huffman编码以及二阶文本建模等方式进行数据压缩。与其他压缩算法相比,它有着更高的压缩效率。
点击安装,选择编译安装,打开添加自定义模块窗口如下图。(https://www.xcbtmw.com/8023.html)
ngx_brotli
模块简介填写:ngx_brotli
模块参数填写:--add-module=/www/server/nginx/src/ngx_brotli
前置脚本粘贴如下内容:
完成以后提交并打上勾,点击安装,等待完成即可。
打开 Nginx 管理器,左侧菜单选择配置修改,在52
行附近找到gzip
部分,在其前面插入brotli
的配置信息:
保存以后如下图:
[h1]2.开启http3/quic[/h1]
其中nginx配置规则包括两部分,标头和ssl证书(如有报错,请看详细教程https://www.xcbtmw.com/30007.html)
[h2]2.1 标头[/h2]
在所有的站点域名中,只需要有一个 server 域中配置 reuseport 选项即可
在每一个对应站点的Nginx配置文件上面的代码后面添加以下代码,然后重启 Nginx即可生效!
#把原 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;中的TLSv1.1以下版本的删掉, TLSv1.1 已经被淘汰了,密码套件也更新了
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_early_data on;
ssl_stapling on;
ssl_stapling_verify on;
# 添加 Early-Data 头告知后端, 防止重放攻击
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_buffering off;
proxy_http_version 1.1;
proxy_read_timeout 600s;
add_header Alt-Svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"';
add_header quic-status $http3 always;
add_header x-quic 'h3' always;
[h2]2.3 打开TLS1.3[/h2]
宝塔面板—高级设置—TLS设置
本文作者为test,转载请注明。