背景
Nginx 官方修复了一个 HTTP/2 协议相关的超危漏洞(CVE-2026-42945,CVSS≥9,远程可接管服务器),攻击者可利用 HTTP/2 请求处理缺陷威胁服务端安全。受影响版本以 Nginx 官方安全公告为准,建议所有对外提供 HTTP/2 服务的节点尽快升级到官方最新稳定版。
影响自查
对照官方公告确认当前版本是否在受影响范围内,受影响则按下方步骤升级。
解决方案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| mkdir nginx.bak cp -r /etc/nginx nginx.bak/
systemctl stop nginx
dnf remove -y nginx nginx-core
cat > /etc/yum.repos.d/nginx.repo <<'EOF' [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true EOF
dnf clean all && dnf makecache dnf install -y nginx
cp -r nginx.bak /etc/nginx
nginx -t systemctl enable --now nginx
nginx -v
|
站点配置参考(HTTP 跳转 + HTTPS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| server { listen 80; server_name xuezzz.me www.xuezzz.me; return 301 https://$server_name$request_uri; }
server { listen 443 ssl; http2 on; server_name xuezzz.me www.xuezzz.me;
client_max_body_size 10M; client_header_buffer_size 1k; large_client_header_buffers 2 1k; client_header_timeout 10s; client_body_timeout 10s; keepalive_timeout 60s; }
http { server_tokens off; }
|
1 2 3
| nginx -t systemctl restart nginx
|
修复验证
1 2 3 4 5
| nginx -v
curl -sI https://你的域名 | head -5
|
升级后观察一段时间访问日志与错误日志,确认业务无异常即完成修复。