近期 Nginx 相关安全更新中,CVE-2026-42945 被多个安全机构称为 NGINX Rift。该问题与 Nginx 对 HTTP/2 请求处理有关,攻击者可能通过构造异常请求触发服务异常,部分安全厂商将其列为需要优先处置的高风险项。对于承载官网、电商、API、站群、反向代理和业务入口的服务器,建议尽快完成版本核查与升级。
漏洞核心信息
- 漏洞名称:NGINX Rift
- 关联编号:CVE-2026-42945
- 影响组件:Nginx HTTP/2 请求处理逻辑
- 风险表现:远程攻击者可能通过恶意 HTTP/2 请求触发异常,造成服务不可用;在复杂部署环境中可能进一步放大业务影响
- 重点关注场景:公网 Nginx、HTTPS 站点、反向代理、负载均衡入口、API 网关、静态资源节点、业务后台入口
- 处置优先级:高,建议纳入紧急维护窗口
需要注意的是,官方公告与第三方安全通告对严重程度的表述并不完全一致。更稳妥的处理方式不是争论评分,而是先确认线上是否启用了 HTTP/2、是否暴露在公网、是否运行旧版本 Nginx,再按业务影响安排升级。
建议升级版本
建议客户将生产环境 Nginx 升级到 1.31.2 或更高版本。如果使用发行版仓库提供的 Nginx,也应确认系统厂商是否已经回补对应安全补丁,不能只看版本号。
- 自编译或官方源安装:优先升级到 Nginx 1.31.2+
- 宝塔、面板或一键环境:在面板中检查 Nginx 更新,并确认实际运行版本
- Ubuntu、Debian、RHEL、Rocky、AlmaLinux:确认发行版安全公告是否已 backport 补丁
- 容器环境:同步更新基础镜像,并重新构建、重新发布容器
如何快速排查当前版本
登录服务器后,可先执行以下命令确认当前 Nginx 版本和编译参数:
nginx -v
nginx -V
如果站点使用 systemd 管理服务,可继续确认当前正在运行的进程:
ps -ef | grep nginx
systemctl status nginx
如果使用 Docker 或 Kubernetes,需要检查镜像版本,而不是只检查宿主机:
docker ps | grep nginx
docker image ls | grep nginx
是否启用了 HTTP/2
本次风险与 HTTP/2 场景相关,建议检查 Nginx 配置中是否存在 http2 配置项:
grep -R "http2" /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/sites-enabled 2>/dev/null
如果短时间内无法升级,可在确认业务影响后临时关闭公网入口的 HTTP/2,仅保留 HTTP/1.1 访问,作为过渡缓解措施。此操作可能影响部分浏览器访问性能,但通常比暴露高风险入口更可控。
推荐处置流程
- 盘点入口:列出所有公网 Nginx、反向代理、负载均衡、面板站点和容器镜像。
- 确认版本:记录
nginx -v与nginx -V输出,区分官方源、系统源、面板环境和自编译环境。 - 判断暴露面:优先处理公网 HTTPS、启用 HTTP/2、承载登录入口或 API 的节点。
- 测试升级:在测试节点验证配置兼容性,执行
nginx -t,确认站点证书、反代、缓存、重写规则正常。 - 灰度发布:先升级非核心节点,再逐步升级核心入口,避免一次性变更导致业务中断。
- 复查日志:升级后观察 4xx、5xx、连接重置、CPU、内存和访问延迟变化。
升级前后的检查命令
# 检查配置是否正确
nginx -t
# 平滑重载
systemctl reload nginx
# 确认版本
nginx -v
# 观察错误日志
tail -f /var/log/nginx/error.log
如果服务器承载高并发业务,建议先创建快照或备份配置目录,再执行升级。常见需要备份的位置包括 /etc/nginx/、站点配置目录、证书目录、反向代理规则和自定义模块编译参数。
亿达网络建议
对于云服务器、独立服务器、站群服务器和高防业务,Nginx 往往处于业务入口位置。一旦入口层异常,后端应用、数据库和缓存正常也无法对外服务。因此建议客户不要等到被动故障后再处理,而是按以下优先级推进:
- 公网 HTTPS 入口优先升级
- 启用 HTTP/2 的站点优先升级
- 登录后台、支付回调、API 网关优先升级
- 多节点业务先灰度,再全量
- 无法立即升级的节点,先评估临时关闭 HTTP/2
如果你不确定当前服务器是否受影响,可以联系技术支持协助检查 Nginx 版本、HTTP/2 配置、站点入口和升级窗口,避免因为错误升级方式造成业务中断。
