HsinCC987 2025-03-10 08:45 采纳率: 17.6%
浏览 12

ingress-nginx-controller將ks-console用https訪問,502bad gateway

離線環境中做ingress-nginx把ks-console做成能用https訪問,

一開始發生http504,我加了annotations解決了,接著又發生http502,如何解決?

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: self-signed
    cert-manager.io/issuer-kind: Issuer
    meta.helm.sh/release-name: ks-core
    meta.helm.sh/release-namespace: kubesphere-system
    ##加了下面三行解決 http_504 
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "6000"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "6000"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "6000"
  creationTimestamp: "2025-03-07T07:36:08Z"
  generation: 4
  labels:
    app.kubernetes.io/managed-by: Helm
  name: ks-console
  namespace: kubesphere-system
  resourceVersion: "183921"
  uid: 3ae8b8ab-b21d-42c8-b1af-0baf06fa1272
spec:
  ingressClassName: nginx
  rules:
  - host: 172.1.30.21.nip.io
    http:
      paths:
      - backend:
          service:
            name: ks-console
            port:
              number: 80
        pathType: ImplementationSpecific
  tls:
  - hosts:
    - 172.1.30.21.nip.io
    secretName: kubesphere-tls-certs
status:
  loadBalancer:
    ingress:
    - ip: 10.233.35.241

我目前試過 annotations 再加上 nginx.ingress.kubernetes.io/service-upstream: “true” 一樣 http_502

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-03-10 08:45
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你遇到了ingress-nginx-controller将ks-console用https访问时,502 Bad Gateway错误的问题。之前你已经解决了504错误问题,添加了annotations后,新的问题是502 Bad Gateway错误。

    可能的解决方案:

    1. 检查ingress-nginx-controller的日志,查看是否有相关的错误信息。
    2. 检查ks-console的容器是否正常运行,是否有任何错误或崩溃。
    3. 检查ingress-nginx-controller的配置文件,是否正确配置了ks-console的服务。
    4. 检查网络是否有任何问题,是否有防火墙或网络策略阻止了https访问。

    核心解决方案:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: ks-console
      annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /
    spec:
      rules:
      - host: ks-console.example.com
        http:
          paths:
          - path: /
            backend:
              serviceName: ks-console
              servicePort: 443
    

    在上面的配置文件中,我们添加了rewrite-target注解,以便ingress-nginx-controller正确地将https请求转发到ks-console服务。

    如果你已经添加了rewrite-target注解,并且仍然遇到502 Bad Gateway错误,请检查ks-console服务的容器是否正常运行,并检查网络是否有任何问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月10日