问题标签 [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.
nginx - 如何在 Barematel 上运行的 kubernetes 中公开服务
Kubernetes 版本:1.10 在 Barematel 上运行
大师数:3
我们在 Kubernetes 集群中运行多个微服务。目前,我们正在使用NodePort
. 每个微服务都有自己的 NodePort,因此我们必须维护一个包含相应微服务的列表。由于我们在 Barematel 上运行,因此在公开微服务时没有 LodeBalancer 之类的功能。
问题: - 由于我们在集群中有多个 master 和 worker,我们必须一次为任何 master 使用静态 IP 或 DNS。如果我想从集群外部访问任何服务,我必须使用 as -IP_ADDRESS:NODEPORT
或DNS:NODEPORT
. 一次我可以使用任何一位大师的地址。如果那个主人去礼服,那么我必须用其他主人的地址更改微服务地址。我不想使用任何主机的静态 IP 或 DNS。
在没有 NodePort 的情况下,我们有什么更好的方法来公开这些微服务?Baremetal 上是否有像 LoadBalancer 这样的功能?可以INGRESS
或Nginx
帮助我们吗?
kubernetes - Kubernetes NGINX 入口配置映射 301 重定向
在 Kubernetes 中使用 NGINX 入口,我看不到将我的流量从非 www 转发到 www 或基于每个主机的另一个域等的方法
我试过查看 configmap 文档,但看不到我需要什么。也许它可以进入入口本身?
我还看到了一个使用注释的示例,但这似乎是入口范围的,所以我不能为每个主机提供特定的重定向
kubernetes - NGINX Ingress Controller 隐藏 Nginx 版本
我在 Kubernetes 集群中使用 NGINX Ingress Controller,需要隐藏客户端请求的 Nginx 版本信息。由于 Nginx 配置文件是动态生成的。在 nginx.conf 文件中包含以下行的最佳方法是什么?
谢谢
kubernetes - 即使设置了 configmap 和注释,nginx 入口也总是重定向到 https
我有一个配置如下的入口:
并且 nginx 控制器有一个如下所示的配置映射:
根据文档,这应该禁用从 http 到 https 的重定向,但它似乎没有锻炼,我做错了什么?
谢谢
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 环境中是相同的。
nginx - ingress-nginx http 重定向代码:“301”重定向过多
我尝试更改 nginx 的 configmap 以将默认永久重定向代码从 308 更改为 301,但我面临“重定向过多”。
这是我的配置:
configmap.yaml
入口网站.yaml
我想知道使用 301 代码而不是 308 重定向到 https
nginx - 如何在 nginx 入口控制器的入口规则中设置保持活动状态
我需要将应用程序的 keep-alive 设置为 0,并希望在 ingressrule 层上执行此操作。那可能吗?
有什么注释吗?
nginx - 添加新入口时如何避免重新启动/断开所有连接?
我有一个集群,其中多个项目部署在不同的命名空间下。
nginx-ingress
在集群上安装了helm,并且为每个项目部署了一个新的ingress。
问题是当添加一个新项目时,即创建一个新的命名空间并添加多个部署+入口服务,nginx
重新启动并断开所有连接,中断所有其他命名空间中的服务。
似乎即使nginx-ingress
服务在项目命名空间中,nginx-ingress
pod也是在默认命名空间中共享的。因此,我想知道是否有一种方法可以将nginx-ingress
pod 专用于每个命名空间,因此更改一个命名空间的配置不会破坏整个集群?
amazon-ec2 - 如何防止直接访问 nginx 入口控制器暴露的已部署 API 服务
我已经使用 kops 和入口 nginx 控制器在 aws 上部署了一个应用程序。
据我了解,入口控制器似乎允许公开部署在集群中的每个服务。所以这让我想知道安全性和身份验证。
我的项目的架构是什么?我在一个集群中部署了 3 个服务:
-client-ui(前端)
-authentication-api(创建/生成/验证 JWT 令牌并调用其他服务,如 data-api)
-data-api(一种在数据库中创建/读取/更新/删除敏感数据的 API)
所以问题是:如果 Ingress 控制器公开所有服务,如果不允许用户访问,你如何限制对特定服务的访问?
在这种情况下,data-api 应该只能从 authentication-api 访问。因此,如果在我的浏览器中输入 www.client-ui.com/data/getXXX 显然我应该无法访问该端点。如果他的 jwt 令牌已经过验证,我应该只能从 authentication-api 做到这一点。
所以我猜一些 api 应该只能从集群内部访问,而有些应该是公开的!?
你能解释一下我该怎么做吗?
谢谢
kubernetes - 负载均衡器后面的请求
我有 nginx 服务器并且有关于已连接用户的信息。我也可以将带有连接 ID 的“GET”请求发送到服务器并断开我的用户。但是,我无法向选定的 pod 发送请求,因为负载平衡将请求重定向到另一个 pod。我决定只向所有 pod 发送请求,但我该怎么做呢?