console
console copied to clipboard
Error while downloading object from console dashboard
I have deployed Minio on the Kubernetes cluster with Helm-Charts, when I try to download an object from the console, I get 404 Not Found error:
Request URL: http://x.x.x.x:port/api/v1/buckets/test/objects/download?prefix=dGV4dC50eHQ=
Request Method: GET
Status Code: 404 Not Found
Remote Address: x.x.x.x:port
Referrer Policy: strict-origin-when-cross-origin
minio operator version: v4.4.8
minio console version: v0.14.7
minio image tag: RELEASE.2022-01-08T03-11-54Z
We're also running into this issue. It looks like the console is using the wrong URL to download from the specific tenant. When you upload a file, which does work, it uses the following URL:
http://x.x.x.x:port/api/hop/minio-operator/xxx/api/v1/buckets/xxx/objects/upload?prefix=xxx
So, it looks like the download button is missing the /api/hop/mino-operator/tenant_name/ part. When you manually add that part to the URL then the request succeeds. You can also work around it by using the tenant specific console instead of the operator console.
HI @soleimaniamir & @OvervCW!
We applied some changes in https://github.com/minio/console/pull/2286 that may solve the issue you are seeing. Can you please confirm with the latest version of MinIO / Console if the issue is still present?
Thank you.
@bexsoft Still not working unfortunately. I tested every docker up to the latest v.0.20.5
I am using minio console as part of minio operator inside of k8s help. What did help me? I created separate ingress for minio console with the correct rewrite rule:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-http01-nginx-issuer
nginx.ingress.kubernetes.io/rewrite-target: https://console.minio.dev.*****.****/api/hop/minio/minio/api/v1/buckets/$1
name: minio-operator-console-fix
namespace: minio-operator
spec:
ingressClassName: nginx-classic
rules:
- host: console.minio.dev.****.****
http:
paths:
- backend:
service:
name: console
port:
name: http
path: /api/v1/buckets/(.*)
pathType: Prefix
tls:
- hosts:
- console.minio.dev.****.****
secretName: minio-tls
This sounds like you need to tell nginx to support larger bodies via the following annotations
nginx.ingress.kubernetes.io/proxy-body-size: 5120g
@dvaldivia Why would large bodies cause 404 errors?