fix: service path expected uri for signature to match.#815
fix: service path expected uri for signature to match.#815re1709 wants to merge 1 commit intogaul:masterfrom
Conversation
| String uriForSigning = presignedUrl ? originalUri : | ||
| this.servicePath + originalUri; | ||
| String uriForSigning = presignedUrl ? uri : | ||
| this.servicePath + uri; |
There was a problem hiding this comment.
I am happy to merge this but is there any kind of test that you can add that failed before and succeeds now?
There was a problem hiding this comment.
Sorry just tested this, and realised it breaks virtual host style bucket names - please don't merge.
There was a problem hiding this comment.
This is going to be more complicated than thought to fix, to work with path style and virtual host style buckets. We've now switched to use host style buckets and no longer need the service path - everything works great! If i find some time i'll try to correct this change to not break host style.
Would it be feasible to block setting service path and virtual host at the same time in the S3Proxy builder? The two properties seem to conflict. Could then reliably make a change that checks one of them to not break functionality for the other.
Using authentication with a service path (e.g. under kubernetes deployment) does not work, as the expected uri is incorrect (contains the service path twice).