问题标签 [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 - Nginx 入口资源 - 从 www 重定向(SSL 不起作用)
用例
我使用这个舵图在我的 Kubernetes 集群中部署了 nginx 入口控制器:
https://github.com/helm/charts/tree/master/stable/nginx-ingress
我为我的前端服务网络服务器创建了一个入口资源,它应该从非 www 重定向到 www 版本。我也在使用 SSL。
问题
当我访问我网站的 www 版本时,一切都很好,nginx 使用我的 Lets Encrypt SSL 证书(在正确的命名空间中作为秘密存在)为页面提供服务。但是,当我访问该网站的非 www 版本时,我在浏览器 (NET::ERR_CERT_AUTHORITY_INVALID) 中看到失败的 SSL 证书页面,并且可以看到该页面是使用 Kubernetes 入口假证书提供的。我认为这也是重定向到 www 版本根本不起作用的原因。
这是我的入口资源(实际主机名已被编辑):
问题
为什么 nginx 不在非 www 版本上使用提供的证书?
kubernetes - 尽管 externalTrafficPolicy 设置为 Local,但 Kubernetes 提供了一个内部源 IP
我们的 Kubernetes 集群包括一个 nginx 负载均衡器,它将请求转发到其他 pod。
但是,nginx 看到本地源 IP,因此无法设置正确的 X-Real-IP 标头。我尝试将 nginx 的 externalTrafficPolicy 值设置为“Local”,但 IP 没有改变。
nginx服务配置部分:
结果:
我们使用带有 metallb 的裸机集群。
kubernetes - 以后的入口子路径可以覆盖早期的入口父路径吗?
我有一个 Kubernetes 入口,我想成为一组主机上所有路径的默认值,前提是没有更具体的匹配:
第二个入口为特定路径定义了一个自定义服务:
我希望添加/删除入口的顺序无关紧要,或者至少我可以有某种方式表明path: /
indefault-ing
总是最后排序。
当我尝试上述方法时,只要我special-ing
之前添加路由就可以了default-ing
(或者,添加default-ing
,然后是special-ing
,然后删除default-ing
并重新添加它)。当我将它们添加为时default-ing
,special-ing
请求/special are
路由到my-default-service
而不是special-service
.
我希望添加/删除的顺序独立于 nginx-ingress-controller 生成的路由,以便我的 kubectl 操作更加健壮,并且如果重新创建其中一个入口,则不会中断。
我在用着nginx-ingress-controller:0.19.0
谢谢你尽你所能的帮助!
nginx - Nginx 入口控制器 websocket 支持
最近我一直在使用 Kubernetes 开发一个玩具应用程序。该应用程序的一部分是需要支持 WebSockets 的 Web 服务器。目前,我正在使用端口转发来访问 Web 服务器,一切正常。
我想改用 Ingress 和 IngressController 来避免使用端口转发。
这是我的Ingress
配置:
现在通过$(minikube ip)/app
工作正常访问应用程序,但 WebSocket 请求都失败,因为 nginx 返回 200 而不是 101。
我试过添加nginx.org/websocket-services
注释,但这似乎也不起作用。
有没有人遇到过类似的情况?
干杯
docker - 在我的 Kubernetes 基础架构中的 Ingress 之前是否需要有负载均衡器
我正在尝试在我的每个部署上实现 ClusterIP-Service。仅供参考,我正在办公室自己的服务器上设置 kubernetes(由于某种原因不使用云)。以前这里是我能想到的网络/基础设施:
我不确定为什么我的 Ingress 不能按预期工作。我使用https://github.com/kubernetes/ingress-nginx作为我的入口控制器。我还应用了来自https://kubernetes.github.io/ingress-nginx/deploy/的裸机服务配置
下面是我的简单 Ingress 和 ClusterIP,例如:
我尝试访问http://<server-internal-ip>:80
,但连接被拒绝,而不是被路由到特定服务内的我的应用程序。我上面做的任何事情都可能出错吗?
我需要LoadBalancer
像下面这样在 Ingress 之前拥有吗?(哪一个是理想的)
或者可能
提前致谢。
kubernetes - Kubernetes入口nginx不匹配子路径
我正在尝试在谷歌云上制作一个简单的 ingress-nginx 示例,但它与子路径不匹配:
当我打电话时,http://server/one有效,但是当我调用 http://server/one/path时,我得到一个 404。我尝试了几件事,比如使用正则表达式,但根本不起作用
后端只是总是在任何路径上回复的回显服务器。
nginx - K8s Helm - Jenkins 与 Nginx Ingress
我正在尝试通过 Helm 部署以 nginx-ingress 为前端的 Jenkins。目标是在 nginx 上通过 SSL 终止来保护 Jenkins 的安全。我目前正在使用自签名证书,但最终将使用 cert-manager 和 LetsEncrypt。Jenkins 和 Nginx-Ingress 部署在默认命名空间中。
下面是我的部署脚本:
下面是我的 values.yaml 文件:
部署(默认命名空间)
服务(默认命名空间)
入口(默认命名空间)
入口 .yaml(由 helm 生成)
当点击入口 IP ( https://104.198.179.176 ) 时,我点击了默认的 nginx 后端服务,出现“默认后端 - 404”错误。我怀疑入口配置可能有问题。根据入口设置,入口 IP (35.193.17.244) 不正确,而 nginx-ingress-controller IP 为 104.198.179.176。
kubernetes - kubernetes (GKE) 上的 keycloak 部署:入口类 -- nginx VS gce
我正在尝试在 google kubernetes 引擎上部署 keycloak 并使用 ingress.class 类型的nginx使其工作,如下所示
kubernetes.io/ingress.class:nginx
完整清单可以在这里找到 https://github.com/vsomasvr/keycloak-gke/blob/master/keycloak-gke-ingress/ingress.yaml
但是,我的意图是使用 ingress.class 类型“gce ”。为此,我从以下更改了入口注释
到以下
在上述更改之后,我一直收到一条消息,指出入口的后端不健康(0/3)。我想知道当“ nginx ”可以毫无问题地运行时“ gce ”需要哪些其他更改。
我确保它不是防火墙问题,因为所有应用程序使用的端口都允许使用,我还设置了livenessProbe和readinessProbe设置。
这个配置还有什么遗漏的吗?
我将所有清单文件放在这里 https://github.com/vsomasvr/keycloak-gke/tree/master/keycloak-gke-ingress
任何帮助表示赞赏
编辑
我已经添加了注释
到nginx入口,经过测试并确保它不会引起任何冲突。该应用程序运行没有问题。
另一方面,即使我删除了上述注释, gce入口也具有相同的行为
ssl - nginx ssl3_get_record 版本号错误 502 Bad Gateway
我正在我的 K8S 集群上部署一个 Ingress。我所有的配置看起来都不错。
我的入口是这样定义的:
部署的 Ingress 如下所示:
因为我在 GCP 中部署它,所以我也有一个 LB。
如您所见,入口应该将流量路由到jenkins-master
端口8090
此服务存在于同一命名空间中。
如果我这样做,从集群内部curl http://100.71.2.206:8090
,我可以成功地看到我的应用程序的主页,这意味着设置是好的。
现在,当我尝试从浏览器访问 Ingress 时,我看到的就是这些。
当我查看 Ingress 控制器 pod 的日志时,它们有以下错误:
不确定这个错误是什么。有任何想法吗 ?我使用了错误的注释吗?
jenkins - 如何在私有云上访问 Kubernetes 上的 Jenkins Dashboard?
詹金斯服务文件
背景: 我想访问 Kubernetes 上的仪表板,该服务在 Kubernetes 集群上运行,我找不到更多关于如何访问 jenkins 仪表板的文档。- 我需要在服务文件中进行更多配置吗?- 有没有其他选择或方法可以做到这一点?