问题标签 [nginx-ingress]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
918 浏览

nginx - 如何在 Barematel 上运行的 kubernetes 中公开服务

Kubernetes 版本:1.10 在 Barematel 上运行

大师数:3

我们在 Kubernetes 集群中运行多个微服务。目前,我们正在使用NodePort. 每个微服务都有自己的 NodePort,因此我们必须维护一个包含相应微服务的列表。由于我们在 Barematel 上运行,因此在公开微服务时没有 LodeBalancer 之类的功能。

问题: - 由于我们在集群中有多个 master 和 worker,我们必须一次为任何 master 使用静态 IP 或 DNS。如果我想从集群外部访问任何服务,我必须使用 as -IP_ADDRESS:NODEPORTDNS:NODEPORT. 一次我可以使用任何一位大师的地址。如果那个主人去礼服,那么我必须用其他主人的地址更改微服务地址。我不想使用任何主机的静态 IP 或 DNS。

在没有 NodePort 的情况下,我们有什么更好的方法来公开这些微服务?Baremetal 上是否有像 LoadBalancer 这样的功能?可以INGRESSNginx帮助我们吗?

0 投票
3 回答
6909 浏览

kubernetes - Kubernetes NGINX 入口配置映射 301 重定向

在 Kubernetes 中使用 NGINX 入口,我看不到将我的流量从非 www 转发到 www 或基于每个主机的另一个域等的方法

我试过查看 configmap 文档,但看不到我需要什么。也许它可以进入入口本身?

我还看到了一个使用注释的示例,但这似乎是入口范围的,所以我不能为每个主机提供特定的重定向

0 投票
1 回答
7135 浏览

kubernetes - NGINX Ingress Controller 隐藏 Nginx 版本

我在 Kubernetes 集群中使用 NGINX Ingress Controller,需要隐藏客户端请求的 Nginx 版本信息。由于 Nginx 配置文件是动态生成的。在 nginx.conf 文件中包含以下行的最佳方法是什么?

谢谢

0 投票
1 回答
658 浏览

kubernetes - 即使设置了 configmap 和注释,nginx 入口也总是重定向到 https

我有一个配置如下的入口:

并且 nginx 控制器有一个如下所示的配置映射:

根据文档,这应该禁用从 http 到 https 的重定向,但它似乎没有锻炼,我做错了什么?

谢谢

0 投票
1 回答
10277 浏览

kubernetes - Kubernetes 入口编辑:HTTP 400 错误请求 - 纯 HTTP 请求已发送到 HTTPS

*HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*在手动编辑 webapp 的入口或通过更新入口修改白名单 IP 的自动作业编辑后,完美加载的 webapp 是否有任何理由提供端口

显然,当我们在清除 webapp 部署后重新部署 webapp 时,这个问题得到了解决......

任何指向这一点的指针都会很棒,因为这发生在我们的 PROD 环境中,并且在任何较低的环境中都无法重现。注意点:- - Nginx Ingress 控制器设置在较低的环境和 Prod 环境中是相同的。

0 投票
0 回答
1997 浏览

nginx - ingress-nginx http 重定向代码:“301”重定向过多

我尝试更改 nginx 的 configmap 以将默认永久重定向代码从 308 更改为 301,但我面临“重定向过多”。

这是我的配置:

configmap.yaml

入口网站.yaml

我想知道使用 301 代码而不是 308 重定向到 https

0 投票
2 回答
7847 浏览

nginx - 如何在 nginx 入口控制器的入口规则中设置保持活动状态

我需要将应用程序的 keep-alive 设置为 0,并希望在 ingressrule 层上执行此操作。那可能吗?

有什么注释吗?

0 投票
1 回答
173 浏览

nginx - 添加新入口时如何避免重新启动/断开所有连接?

我有一个集群,其中多个项目部署在不同的命名空间下。

nginx-ingress在集群上安装了helm,并且为每个项目部署了一个新的ingress。

问题是当添加一个新项目时,即创建一个新的命名空间并添加多个部署+入口服务,nginx重新启动并断开所有连接,中断所有其他命名空间中的服务。

似乎即使nginx-ingress 服务在项目命名空间中,nginx-ingress pod也是在默认命名空间中共享的。因此,我想知道是否有一种方法可以将nginx-ingresspod 专用于每个命名空间,因此更改一个命名空间的配置不会破坏整个集群?

0 投票
1 回答
384 浏览

amazon-ec2 - 如何防止直接访问 nginx 入口控制器暴露的已部署 API 服务

我已经使用 kops 和入口 nginx 控制器在 aws 上部署了一个应用程序。

据我了解,入口控制器似乎允许公开部署在集群中的每个服务。所以这让我想知道安全性和身份验证。

我的项目的架构是什么?我在一个集群中部署了 3 个服务:

  1. -client-ui(前端)

  2. -authentication-api(创建/生成/验证 JWT 令牌并调用其他服务,如 data-api)

  3. -data-api(一种在数据库中创建/读取/更新/删除敏感数据的 API)

所以问题是:如果 Ingress 控制器公开所有服务,如果不允许用户访问,你如何限制对特定服务的访问?

在这种情况下,data-api 应该只能从 authentication-api 访问。因此,如果在我的浏览器中输入 www.client-ui.com/data/getXXX 显然我应该无法访问该端点。如果他的 jwt 令牌已经过验证,我应该只能从 authentication-api 做到这一点。

所以我猜一些 api 应该只能从集群内部访问,而有些应该是公开的!?

你能解释一下我该怎么做吗?

谢谢

0 投票
1 回答
34 浏览

kubernetes - 负载均衡器后面的请求

我有 nginx 服务器并且有关于已连接用户的信息。我也可以将带有连接 ID 的“GET”请求发送到服务器并断开我的用户。但是,我无法向选定的 pod 发送请求,因为负载平衡将请求重定向到另一个 pod。我决定只向所有 pod 发送请求,但我该怎么做呢?