[英]Exposing service from Kubernetes NGINX Ingress controller always return 502 Bad Gateway
我對在數字海洋中的 kubernetes 集群中運行的 NodeJS 應用程序的請求存在問題。 每個請求都會返回502 Bad Gateway Error
。 我不確定我錯過了什么。
這就是服務配置的樣子
apiVersion: v1
kind: Service
metadata:
name: service-api
namespace: default
labels:
app: service-api
spec:
type: ClusterIP
ports:
- name: http
protocol: TCP
port: 80
targetPort: 3000
selector:
app: service-api
Ingress.yml 看起來像這樣
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: service-api-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/limit-connections: '2'
nginx.ingress.kubernetes.io/limit-rpm: '60'
service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-algorithm: "round_robin"
service.beta.kubernetes.io/do-loadbalancer-http2-ports: "443,80"
service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
service.beta.kubernetes.io/do-loadbalancer-tls-passthrough: "true"
spec:
tls:
- hosts:
- dev-api.service.com
secretName: service-api-tls
rules:
- host: "dev-api.service.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: service-api
port:
number: 80
每當我訪問主機 url 時,我都會收到 502 錯誤。
這是 nginx 入口日志中出現的內容
2021/01/13 08:41:34 [error] 319#319: *31338 connect() failed (111: Connection refused) while connecting to upstream, client: IP, server: dev-api.service.com, request: "GET /favicon.ico HTTP/2.0", upstream: "http://10.244.0.112:3000/favicon.ico", host: "dev-api.service.com", referrer: "https://dev-api.service.com/status"
會不會是配置SSL passthru的注解?
如果 SSL passthru 已在您的入口 controller 上配置,那么您的服務除了端口 80 之外還需要公開端口 443。您基本上是在說 Pod 正在終止安全連接而不是 ZEE434023CF89D7DFDB74
如果這是問題將解釋 50X 錯誤,這表明后端有問題
正如我們(與@Emmanuel Amodu)在評論中討論的那樣:
錯誤是使用錯誤的端口連接到應用程序,端口4000
而不是service-api
中定義的3000
。
對於會有類似問題的社區,請 - 調試的最重要步驟:
$ kubectl exec -it -n <namespace-of-ingress-controller> <nginx-ingress-controller-pod> -- cat /etc/nginx/nginx.conf
$ kubectl describe svc service-api
不需要特殊設置,404 很可能來自您的實際后端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.