背景
2026 年 3 月,Kubernetes SIG Network 正式将 kubernetes/ingress-nginx 归档停更。官方推荐迁移到 Gateway API,但迁移意味着:
- 改造所有 Ingress 资源为 Gateway API 配置
- 验证新控制器的行为兼容性
- 回归测试所有业务流量
对于很多团队来说,这不是一个短期内能完成的工程。
社区分支
我做了一个社区分支,目标是在不改变现有配置的前提下,继续获得 NGINX 版本更新和安全补丁。
与上游的差异
| 上游最后版本 (v1.15.1) | 社区分支 (v1.30.2) | |
|---|---|---|
| NGINX | 1.27.1 | 1.30.2 (stable) |
| OpenSSL | 3.5.x | 3.5.6 |
| CVE 修复 | — | 10 个 |
安全修复
NGINX(1.27.1 → 1.30.2)
| CVE | 严重程度 | 描述 |
|---|---|---|
| CVE-2026-42945 | 严重 | ngx_http_rewrite_module 堆缓冲区溢出(NGINX Rift) |
| CVE-2026-9256 | 高 | 缓冲区溢出漏洞 |
| CVE-2026-28755 | 中 | Stream 模块 OCSP 结果绕过 |
| CVE-2026-1642 | 中 | SSL 上游注入 |
| CVE-2025-53859 | 中 | SSL 相关漏洞 |
| CVE-2025-23419 | 中 | TLSv1.3 SNI 会话恢复绕过 |
Ingress-NGINX 控制器
| CVE | 严重程度 | 描述 |
|---|---|---|
| CVE-2025-1974 | 严重 (9.8) | IngressNightmare — 未认证远程代码执行 |
| CVE-2025-24514 | 中 (6.5) | 验证准入控制器拒绝服务 |
| CVE-2025-1097 | 高 | IngressNightmare 攻击链 — 认证方式注入 |
| CVE-2025-1098 | 高 | IngressNightmare 攻击链 — 配置注入 |
迁移方法
直接替换,无需修改任何 Ingress 配置。
kubectl
kubectl apply -f https://raw.githubusercontent.com/baranchen/ingress-nginx/main/dep
loy/static/provider/cloud/deploy.yaml
Helm
helm install ingress-nginx charts/ingress-nginx \
--set controller.image.registry=ghcr.io/baranchen/ingress-nginx \
--set controller.image.tag=v1.30.2
NGINX 1.27.1 → 1.30.2 升级要点
- 1.27.2 — SSL 证书缓存、ssl_session_log 指令
- 1.27.3 — Upstream 服务器 resolve 参数
- 1.27.4 — CVE-2025-23419 修复
- 1.27.5 — QUIC CUBIC 拥塞控制
- 1.28.0 — 稳定分支
- 1.30.0 — HTTP/2 上游代理、upstream 粘性会话、Early Hints (103)
- 1.30.2 — 最新稳定版
后续计划
- 跟进 NGINX 后续 stable 版本更新
- 修复已知技术债
- 社区反馈驱动的新功能
欢迎在 GitHub Issues 提交问题和建议,也欢迎贡献代码!