-
Notifications
You must be signed in to change notification settings - Fork 228
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
SignatureDoesNotMatch when port is 80 #321
Comments
@DouglasMarsh Thanks for reporting the issue. We will take a look and get back to you. |
@DouglasMarsh, are you running minio behind a proxy? If so - please check if the proxy is overwriting host header. With minio server running on port 80, not able to repro the bug that you see. |
yes minio is behind a nginx ingress running kubernetes. |
ping @DouglasMarsh |
@DouglasMarsh, were you able to check your nginx settings? |
This also happens when using a different RestSharp version. Using RestSharp v106.5.0 or higher, the same signature mismatch error is returned for multipart uploads. Tested on dotnet core 2.2. |
@SpeedPing, can you turn on http tracing for minio server by running |
Tested on 2 completely different networks&machines with local and remote setup, same outcome. Steps to reproduce on windows:
mc admin results: |
@poornas Can you validate this issue? |
@poornas It appears to work with https enabled. Having it disabled in Minio.Functional.Tests, I'm encountering the same error message. I'll try to resort to https. |
@poornas I've faced the same issue, but connecting to a different s3 server. For my work I need to use Yandex S3, which works great with official Java tools and python boto. But MinIO client failes to authenticated with it for this reason. It seems that the server implementation does not expect default :80 port to be present in the host header. In my case it seems to be a bug in the server implementation. Still other tools work fine with it since they do not include the :80 port in the host header. Do you think it can be beneficial to also not include default port, as more popular tools do, to provide better support for different S3 server implementations? If so, I can make a PR. |
@Maximkaaa Just to note: yandex team fixed it, now it works fine. |
I've discovered an issue with using the minio dotnet client when connected to a minio server over port 80.
The signature generated by the client sets host header using the following code:
SetHostHeader(request, client.BaseUrl.Host + ":" + client.BaseUrl.Port);
This is V4Authenicator.cs: line 114
The issue is, the server doesn't seem to include the port number with host resulting in a signature mismatch.
I've verify buy running the dot-net samples code and removing port number from SetHostHeader. The signature mismatch issue goes away.
The text was updated successfully, but these errors were encountered: