问题标签 [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 投票
0 回答
930 浏览

nginx - Kubernetes nginx 控制器,没有到默认后端的流量:400s 应该是 404s

我有一个问题,所有未知端点都由入口控制器本身返回 400。它不会向默认后端发送任何流量。到定义的入口点的其他流量工作正常。

我在 ingress-controller 的日志中看到了这一点,因为每天晚上我都会得到看似手动的妥协尝试,并且我假设攻击者(或脚本)继续尝试,因为他们得到的是 400 而不是 404,而这些然后假定它们不是潜在的可访问端点。

我不确定这是由于我部署 nginx-ingress-controller 的方式,还是由于我设置入口的方式。ingress-controller 实际上只是一个通用的 Helm 部署。

这是其部署清单的一部分:

这是日志中的示例 400,它应该是 404(任何地方都不存在“login.cgi”端点):

这是默认后端:

最后,这里有一些来自 ingress-controller 中 nginx.conf 的部分,我不是 nginx.confs 方面的专家,但它看起来对我来说是正确的:

注意:在我设置我的第一个入口(针对其他域)之前,流量确实进入了我的默认后端并抛出 404。

我现在应该怎么做来调试这个问题并弄清楚为什么这些 400 没有被发送到我的默认后端?

编辑

这是默认控制器的部署定义:

编辑

这是我目前定义的唯一入口:

此入口是为主机名定义的,例如someapp.somehostname.com. 但是,这是一个 CNAME。与此 IP 地址关联的A记录正在获取我上面提到的有问题的流量(即使它没有在我的任何 Ingress 定义中定义),并且当我认为它应该是时,该流量不会进入默认后端。那有意义吗?

编辑:

这是结果kubectl get deployment fashionable-gopher-nginx-ingress-controller -n kube-system -o yaml

0 投票
1 回答
820 浏览

nginx - 如何将基本身份验证放在 ngnix 入口中的特定 HTTP 方法上?

我可以使用基本身份验证创建入口。我遵循了 kubernetes/ingress-nginx 的模板:

它工作正常,但我需要允许没有基本身份验证的“OPTIONS”方法进行飞行前请求。关于如何做到这一点的任何指示都会非常有帮助。

0 投票
2 回答
2797 浏览

kubernetes-ingress - 如何更新 ngnix 入口控制器的 ngnix 配置

我已经安装了使用 helm chartngnix的入口控制器。K8 cluster

我想更新入口控制器ngnix.conf文件中的以下值:ngnix

我在 ingress.yaml 下面使用过:

然后当我检查 ngnix.conf 使用

proxy-connect-timeout并且proxy-read-timeout不要更新。它显示默认值,并且服务器代码段也不会被添加。

谁能告诉我如何update/add配置ngnix入口控制器?

0 投票
1 回答
2770 浏览

nginx - Nginx 入口超时/连接断开

考虑这个 NodePort 服务:

考虑一个恰好需要 120 秒的请求:

这很好。所以我配置了 nginx-ingress 超时:

我可以确认它在 nginx.conf 中:

所以现在,我尝试进入 nginx ingress pod 并尝试通过 nginx-ingress 访问 myservice:

但是这次我得到了空洞的回应——有时在 35 秒之后,有时在 90 秒之后,但它会到达那里:

我不知道会发生什么。看起来好像 nginx 被随机重新启动并且我的连接被丢弃了。

0 投票
2 回答
27873 浏览

nginx - Kubernetes Ingress 非根路径 404 Not Found

我有以下配置在我尝试时有效<NodeIP>:30080

我正在尝试使用入口:

myhost.com适用于 nginx 介绍屏幕,但myhost.com/app提供404 Not Found. 我的设置问题出在哪里?


更新:

如果我做根路径它可以工作,但怎么会/app不呢?

0 投票
1 回答
554 浏览

nginx - 登录到管理员不适用于 icecast 服务器

我已经为我们的生产 icecast 服务器设置了一个几乎相同的登台服务器。

但是,我遇到的一个问题(尝试创建挂载点)是登录管理员。

这在生产中不会发生。

现在唯一的区别是我通过 kubernetes 在 nginx 入口上设置了这个登台服务器。

0 投票
1 回答
2340 浏览

kubernetes - kuberntes 中的 nginx-ingress / 如何启用和使用 geoip?

刚刚意识到在 kubernetes 的上下文中,默认情况下 geoip 存在于 nginx-ingress 中;也就是说,环顾四周,刚接触 nginx geoip,我不太了解如何从中受益

首先,是否有任何声明性设置可以有效地使其工作?配置映射设置,还是这样?

其次,这些信息是如何从 nginx-ingress 传递到应用程序的?信息是否存在于标题中?是否有任何额外的设置可以应用?

非常感谢任何有经验的输入;最好的

0 投票
1 回答
2697 浏览

dns - 如何配置我的 DNS 以使用 Rancher 2.0 入口?

我是 Kubernetes 和 Rancher 的新手,但是已经部署了集群设置和工作负载。我正在考虑设置入口,但对我的 DNS 应该是什么样子感到困惑。

我会保持简单:我有一个域 (example.com),我希望能够配置 DNS,以便将其路由到我的 3 节点集群中的正确 IP,然后路由到正确的入口和负载均衡器,最终到了工作量。

我对这个 xip.io 的东西不感兴趣,因为我需要真实世界的东西,而不是沙盒,而且 Rancher 网站上没有文档指出我应该做什么。

我应该通过 Kubernetes 运行我自己的 DNS 吗?我正在使用 DigitalOcean droplets,但还没有找到任何方法让 Rancher 为我设置 DNS 记录(正如它声称为其他云提供商所做的那样)。

这真的很令人沮丧,因为它基本上是你需要做的第一件事,也是唯一一件……“将应用程序暴露给外界”,这在某种程度上并不是微不足道的。

希望得到任何帮助,或者有人向我解释我从根本上是多么愚蠢以及我缺少什么!

谢谢。

0 投票
0 回答
1257 浏览

mysql - 无法使用 nginx-ingress 公开在 kubernetes 集群内运行的 mysql tcp 服务

我遇到了一个问题,公开在 kubernetes 集群中运行的 mysql 数据库。集群在 AWS 上使用 kops 运行。我为 nginx-ingress 使用 helm 图表:https ://github.com/helm/charts/tree/master/stable/nginx-ingress

从集群内部,我可以通过 nginx 通过端口 5000 远程登录到数据库:

但我似乎无法使用 aws 负载均衡器的主机名从外部连接。

当我查看 aws ec2 仪表板时,我看到负载均衡器的安全组允许从端口 5000 上的任何地方进行连接。

更新

当我使用端口 3306 而不是 5000 时,我可以连接:

但是,现在端口已打开:

我遇到授权问题:

我可以直接连接到 nginx 控制器,而不会出现集群内部的问题:

我正在使用这个 mysql helm 图表:

https://github.com/helm/charts/tree/master/stable/mysql

0 投票
1 回答
1557 浏览

kubernetes - Kubernetes 集群内的流量如何流动?

(在学习 Kubernetes 时,我从来没有真正找到任何好的资源来解释这一点)

场景:
我拥有 mywebsite1.com 和 mywebsite2.com,我想将它们都托管在 Kubernetes 集群中。

我根据以下网站使用 2 个
kubectl apply -f < url > 命令部署了一个通用云入口控制器。(mandatory.yaml 和通用 ingress.yaml)
https://kubernetes.github.io/ingress-nginx/deploy/

所以问题是这种架构是什么样的?以及数据如何流入集群?