【发布时间】:2020-08-07 22:47:57
【问题描述】:
我正在尝试建立与 kubernetes 集群的连接,但我收到了 502 bad gateway 错误。
集群有一个 nginx 入口和一个服务(同时监听 http 和 https)。此外,入口位于具有静态 IP 地址的 nginx 入口服务(我安装了 nginx helm chart)后面。
我可以在集群入口的描述中看到它知道服务的端点。 我看到 Pod 彼此成功通信(有 3 个 Pod),但我无法从 shell 中 ping 外部 nginx。
这些是values.yaml 中集群的入口值:
ingress:
# If `true`, an Ingress is created
enabled: true
# The Service port targeted by the Ingress
servicePort: http
# Ingress annotations
annotations:
kubernetes.io/ingress.class: "nginx"
# Additional Ingress labels
labels: {}
# List of rules for the Ingress
rules:
-
# Ingress host
host: my-app.com
# Paths for the host
paths:
- /
# TLS configuration
tls:
- hosts:
- my-app.com
secretName: my-app-tls
当我转到 my-app.com 时,我在浏览器中看到我处于安全连接状态(URL 旁边的锁定图标),但就像我说的那样,我收到了 502 bad gateway 错误。如果我将 servicePort 从 http 替换为 https,则会收到“400 bad request”错误。
我应该如何设置两个入口以允许与我的应用建立安全连接? 我尝试了各种注解,但总是出现上述错误。
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
谢谢!
【问题讨论】:
-
你试过
servicePort: 80吗? -
@Lukman 是的,不幸的是它产生了同样的错误
标签: kubernetes kubernetes-helm kubernetes-ingress nginx-ingress