-
Notifications
You must be signed in to change notification settings - Fork 557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Extra Headers" in newer mc client #2492
Comments
maybe nginx added something juicy to the headers and then Minio complains? |
@zllovesuki do you have Nginx proxy between Minio? can you point directly to Minio and see if that works? |
@harshavardhana well, it's running on Kubernetes so the Ingress is always there. I don't think nginx is the problem because prior versions of |
Then perhaps I need to reproduce this locally perhaps recent changes in signature v4 are causing the issue. @zllovesuki |
Still broken as of current release on homebrew.
|
From what I can see this has to do with your nginx proxy, I am not sure what its trying to do with the headers. I can't seem to be able to reproduce it. |
Still broken for me as well, reproducible with Minio behind nginx and Version: 2018-09-26T00:42:43Z
Release-tag: RELEASE.2018-09-26T00-42-43Z
Commit-id: 87f7e65c4c837c8886bf2dd8800c445983b36187 Previous versions of @zllovesuki Have you found a solution? |
My nginx configuration:
|
Found the issue! This is the extra header that is only added for files with a custom xattr attribute on MacOS: Check existing attributes with: After that, uploading with |
Interesting, I will check my computer later. |
Can confirm.
Is it a good idea for |
We can support it @zllovesuki - it must be a bug. |
looks like this is working fine when I directly use Minio
The problem seems to be coming in from the nginx trying to do something with these headers, can you enable MINIO_HTTP_TRACE=/dev/stdout to see what nginx is sending to Minio? @zllovesuki ^^ |
@harshavardhana |
@zllovesuki you can even write to a file @zllovesuki ? MINIO_HTTP_TRACE=trace.log |
Finally I have time to sit down... Here's the trace file. minio-trace.txt For reference this is the yaml for test minio: apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: minio-test
namespace: objectstore
spec:
rules:
- host: test.objectstore.co
http:
paths:
- backend:
serviceName: minio-test
servicePort: 9000
path: /
tls:
- hosts:
- test.objectstore.co
secretName: objectstore-tls-gs
---
apiVersion: v1
kind: Service
metadata:
name: minio-test
namespace: objectstore
spec:
ports:
- port: 9000
protocol: TCP
targetPort: 9000
selector:
app: minio-test
sessionAffinity: None
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: minio-test
name: minio-test
namespace: objectstore
spec:
replicas: 1
selector:
matchLabels:
app: minio-test
strategy:
type: Recreate
template:
metadata:
labels:
app: minio-test
spec:
containers:
- args:
- server
- /storage
command:
- minio
env:
- name: MINIO_ACCESS_KEY
value: test
- name: MINIO_SECRET_KEY
value: testtest123
- name: MINIO_BROWSER
value: "off"
- name: _MINIO_CACHE
value: "off"
- name: MINIO_HTTP_TRACE
value: "/dev/stdout"
image: minio/minio:RELEASE.2018-07-13T00-09-07Z
imagePullPolicy: IfNotPresent
name: minio
ports:
- containerPort: 9000
protocol: TCP
volumeMounts:
- mountPath: /storage
name: storage
dnsPolicy: ClusterFirst
restartPolicy: Always
volumes:
- name: storage
emptyDir: {} Ingress controller from: https://github.com/kubernetes/ingress-nginx. Running image apiVersion: v1
data:
disable-access-log: "true"
enable-dynamic-tls-records: "true"
enable-modsecurity: "false"
enable-owasp-modsecurity-crs: "false"
enable-vts-status: "true"
error-log-level: warn
keep-alive: "60"
load-balance: ip_hash
max-worker-connections: "20480"
proxy-body-size: 2g
proxy-buffer-size: 64k
proxy-connect-timeout: "5"
proxy-read-timeout: "3600"
proxy-send-timeout: "3600"
proxy-stream-timeout: "604800"
server-name-hash-max-size: "512"
server-tokens: "false"
ssl-ciphers: ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
ssl-dh-param: default/nginx-dhparam-4096
ssl-ecdh-curve: prime256v1:secp384r1:secp521r1
ssl-protocols: TLSv1 TLSv1.1 TLSv1.2
ssl-session-tickets: "false"
worker-processes: "4"
kind: ConfigMap
metadata:
name: nginx-conf
namespace: default |
@zllovesuki we found the solution #2569 and in-fact its Nginx problem |
for people Googling: set |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Expected behaviour
mc cp
should yield successful upload.Actual behaviour
Steps to reproduce the behaviour
mc cp src dst_on_minio
mc version
System information
Darwin
@harshavardhana mentioned that it should've been fixed in #2193 but no cigar.
The text was updated successfully, but these errors were encountered: