簡體   English   中英

ERR_TOO_MANY_REDIRECTS 通過 NGINX 入口控制器用於 Minio

[英]ERR_TOO_MANY_REDIRECTS for Minio via NGINX Ingress Controller

我有一個Minio在Kubernetes集群ClusterIP服務運行。 最重要的是,我有一個NGINX Ingress Controller NGINX Ingress 需要將 Minio 流量轉發到 Minio 服務,其他流量轉發到對應的服務。

我的 Ingress 配置如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - http:
        paths:
          - path: /app/?(.*)
            backend:
              serviceName: app-service
              servicePort: 3000
          - path: /minio/?(.*)
            backend:
              serviceName: minio-service
              servicePort: 9000

部署后,該應用程序運行良好。 但是,Minio 頁面有問題,抱怨:

This page isn’t working
example.mysite.com redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

事實上,請求一直在重定向。 這是 Chrome DevTools 的網絡控制台的屏幕截圖。

有任何想法嗎?

由於 Minio 總是重定向到 /minio/,您需要將/minio保留在路徑中並將其傳遞給 Minio 服務。

當我將其路徑規則更改為- path: /(minio/.*) ,它可以工作。 現在 Ingress 配置如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - http:
        paths:
          - path: /app/?(.*)
            backend:
              serviceName: app-service
              servicePort: 3000
          - path: /(minio/.*)
            backend:
              serviceName: minio-service
              servicePort: 9000

我讓 Minio 服務在瀏覽器中運行:

希望它有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM