wallarm/ingress-nextgen
GitHub: wallarm/ingress-nextgen
集成了 Wallarm WAF 与 API 安全服务的下一代 Kubernetes NGINX Ingress Controller,为集群入口提供统一的流量管理和应用层安全防护。
Stars: 0 | Forks: 0
[](https://api.securityscorecards.dev/projects/github.com/nginx/kubernetes-ingress)
[](https://github.com/nginx/kubernetes-ingress/actions/workflows/regression.yml?query=event%3Aschedule)
[](https://app.fossa.com/projects/custom%2B5618%2Fgithub.com%2Fnginx%2Fkubernetes-ingress?ref=badge_shield)
[](https://opensource.org/licenses/Apache-2.0)
[](https://goreportcard.com/report/github.com/nginx/kubernetes-ingress)
[](https://codecov.io/gh/nginx/kubernetes-ingress)
[](https://github.com/nginx/kubernetes-ingress/releases/latest)

[](https://hub.docker.com/r/nginx/nginx-ingress)

[](https://artifacthub.io/packages/container/nginx-ingress/kubernetes-ingress)
[](https://www.repostatus.org/#active)

# NGINX Ingress Controller
本仓库由 NGINX 背后的团队提供,实现了 NGINX 和 NGINX Plus 的 Ingress Controller。
作为 Ingress 的替代方案,NGINX Ingress Controller 支持 VirtualServer 和 VirtualServerRoute 资源。
它们支持 Ingress 资源不支持的使用场景,例如流量分割和基于内容的高级
路由。请参阅 [VirtualServer 和 VirtualServerRoute 资源
文档](https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/)。
同时支持 TCP、UDP 和 TLS Passthrough 负载均衡。请参阅 [TransportServer 资源
文档](https://docs.nginx.com/nginx-ingress-controller/configuration/transportserver-resource/)。
请阅读[本文档](https://docs.nginx.com/nginx-ingress-controller/overview/nginx-plus/)以了解更多关于结合 NGINX Plus 的 NGINX Ingress
Controller 的信息。
## Ingress 和 Ingress Controller
### 什么是 Ingress?
Ingress 是一种 Kubernetes 资源,允许您为运行在
Kubernetes 上的应用程序配置 HTTP 负载均衡器,这些应用程序由一个或多个 [Service](https://kubernetes.io/docs/concepts/services-networking/service/) 表示。
这样的负载均衡器对于将这些应用程序交付给 Kubernetes 集群外部的客户端来说是必不可少的。
Ingress 资源支持以下功能:
- **基于内容的路由**:
- *基于主机的路由*。例如,将带有主机头 `foo.example.com` 的请求路由到一组服务,
将带有主机头 `bar.example.com` 的请求路由到另一组服务。
- *基于路径的路由*。例如,将以 `/serviceA` 开头的 URI 请求路由到服务 A,
将以 `/serviceB` 开头的 URI 请求路由到服务 B。
- 针对每个主机名(例如 `foo.example.com`)的 **TLS/SSL 终止**。
请参阅 [Ingress 用户指南](https://kubernetes.io/docs/concepts/services-networking/ingress/)以了解更多关于
Ingress 资源的信息。
### 什么是 Ingress Controller?
Ingress Controller 是在集群中运行并根据
Ingress 资源配置 HTTP 负载均衡器的应用程序。该负载均衡器可以是在集群中运行的软件负载均衡器,也可以是在外部运行的硬件或云
负载均衡器。不同的负载均衡器需要不同的 Ingress Controller 实现。
在 NGINX 的情况下,Ingress Controller 与负载均衡器一起部署在一个 Pod 中。
## 入门指南
1. 使用 [Helm
chart](https://docs.nginx.com/nginx-ingress-controller/install/helm/) 或 Kubernetes
[manifests](https://docs.nginx.com/nginx-ingress-controller/install/manifests/) 安装 NGINX Ingress Controller。
2. 为一个简单的 Web 应用程序配置负载均衡:
- 使用 Ingress 资源。请参阅 [Cafe
示例](https://github.com/nginx/kubernetes-ingress/tree/main/examples/ingress-resources/complete-example)。
- 或使用 VirtualServer 资源。请参阅 [基本
配置](https://github.com/nginx/kubernetes-ingress/tree/main/examples/custom-resources/basic-configuration)示例。
3. 查看其他配置[示例](https://github.com/nginx/kubernetes-ingress/tree/main/examples)。
4. 在[文档](https://docs.nginx.com/nginx-ingress-controller/)中了解有关所有可用配置和自定义的更多信息。
## NGINX Ingress Controller 版本发布
我们在 GitHub 上发布 NGINX Ingress Controller 版本。请参阅我们的[版本发布
页面](https://github.com/nginx/kubernetes-ingress/releases)。
最新的稳定版本是 [5.3.4](https://github.com/nginx/kubernetes-ingress/releases/tag/v5.3.4)。对于生产
使用,我们建议您选择最新的稳定版本。
边缘版本适用于体验尚未在稳定版本中发布的新功能。要使用
它,请选择基于主分支[最新
提交](https://github.com/nginx/kubernetes-ingress/commits/main)构建的 *边缘* 版本。
要使用 NGINX Ingress Controller,您需要具备以下条件:
- NGINX Ingress Controller 镜像。
- 安装清单或 Helm chart。
- 文档和示例。
确保上述内容的版本相互匹配是非常重要的。
下表总结了有关镜像、Helm chart、清单、文档和示例的选项,并
提供了指向正确版本的链接:
| 版本 | 描述 | NGINX 镜像 | NGINX Plus 镜像 | 安装清单和 Helm Chart | 文档和示例 |
| ------- | ----------- | --------------- | -------------------- | --------------------------------------- | -------------------------- |
| 最新稳定版本 | 用于生产环境 | 使用 [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/)、[GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress)、[Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) 或 [Quay.io](https://quay.io/repository/nginx/nginx-ingress) 的 5.3.4 镜像,或[构建您自己的镜像](https://docs.nginx.com/nginx-ingress-controller/install/build/)。 | 使用 [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/install/images/registry-download/) 的 5.3.4 镜像,或[构建您自己的镜像](https://docs.nginx.com/nginx-ingress-controller/install/build)。 | [清单](https://github.com/nginx/kubernetes-ingress/tree/v5.3.4/deployments)。[Helm chart](https://github.com/nginx/kubernetes-ingress/tree/v5.3.4/charts/nginx-ingress)。 | [文档](https://docs.nginx.com/nginx-ingress-controller/)。[示例](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/)。 |
| 边缘/每日构建版本 | 用于测试和体验 | 使用 [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/)、[GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress)、[Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) 或 [Quay.io](https://quay.io/repository/nginx/nginx-ingress) 的边缘或每日构建镜像,或[构建您自己的镜像](https://docs.nginx.com/nginx-ingress-controller/install/build/)。 | [构建您自己的镜像](https://docs.nginx.com/nginx-ingress-controller/install/build/)。 | [清单](https://github.com/nginx/kubernetes-ingress/tree/main/deployments)。[Helm chart](https://github.com/nginx/kubernetes-ingress/tree/main/charts/nginx-ingress)。 | [文档](https://docs.nginx.com/nginx-ingress-controller)。[示例](https://github.com/nginx/kubernetes-ingress/tree/main/examples)。 |
## SBOM (软件物料清单)
我们为二进制文件和 Docker 镜像生成 SBOM。
### 二进制文件
二进制文件的 SBOM 可在发布页面获取。SBOM 使用
[syft](https://github.com/anchore/syft) 生成,并以 SPDX 格式提供。
### Docker 镜像
Docker 镜像的 SBOM 可在 [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/)、[GitHub
Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress)、[Amazon ECR Public
Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) 或 [Quay.io](https://quay.io/repository/nginx/nginx-ingress)
仓库中获取。SBOM 使用 [syft](https://github.com/anchore/syft) 生成,并作为证明 存储在
镜像清单中。
例如,要从 Docker Hub 检索 `linux/amd64` 的 SBOM 并使用
[grype](https://github.com/anchore/grype) 对其进行分析,您可以运行以下命令:
```
docker buildx imagetools inspect nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' | grype
```
## 联系我们
我们期待您的反馈!如果您对我们的 Ingress Controller 有任何建议或遇到问题,请
在 GitHub 上创建 Issue 或发送 Pull Request。
## 贡献
如果您想为项目做出贡献,请阅读我们的[贡献指南](CONTRIBUTING.md)。
## 支持
对于 NGINX Plus 客户,NGINX Ingress Controller(与 NGINX Plus 结合使用时)受支持合同保障。
标签:API安全, CISA项目, Docker, EVTX分析, Go语言, Ingress Controller, JSON输出, NextGen, NGINX, WAF, Wallarm, 反向代理, 子域名突变, 安全防御评估, 安全防护, 容器网络, 日志审计, 流量管理, 程序破解, 请求拦截, 负责任AI, 负载均衡