-
-
Notifications
You must be signed in to change notification settings - Fork 225
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
Setting any value to PutObject's poContentEncoding
breaks signing
#537
Comments
It seems that:
|
Got confirmation from AWS, that the empty content encoding is known issue. |
I think we have run into this problem too. Strangely, something seems to have change last weekend! It was working fine up to September 13, 2019, and it wasn't working on September 16. Did something change ? Did the AWS S3 signing rules change ? Below is snippet where we call True -> do
f <- chunkedFile 32768 srcPath
_ <- send $ putObject (BucketName $ storeBucket config) (fromString destPath) f
return () |
Okay, I managed to figure out a few things.
F |
@finlay I started getting the same Regarding what you said about your network provider, aren't S3 requests done over HTTPS instead of HTTP? (I packet-captured my S3 session and can confirm that it was using HTTPS.) Since HTTPS is encrypted, I'm not sure how your network providers can mess with your headers unless your HTTPS session is compromised. Since the error shows up even without using |
@finlay and @jchia, as my comrade had asked this issue to AWS support desk in Japan, we’ve got an information that they modified S3 to reject a request which Transfer-Encoding header field “and” Content-Length header field compliant with RFC7230: “A sender must not send a Content-Length header field in any message that contains a Transfer-Encoding header field”, since Sep 16, 2019. Thus I believe these matters are originated by restriction of HTTP standardization. I hope this helps. |
Attempting to run this snippet:
Results in signing error:
This breaks workaround for #536.
Note that normally there may be multiple content encodings put into a single stance, but it seems that now we have
aws-chunked
hardwired and it interferes with attempt to assign value here.I prepared a small example of this issue:
https://github.com/mgajda/aws-empty-content-encoding-issue/tree/assign-content-encoding
The text was updated successfully, but these errors were encountered: