DescriptionKen Dreyer (Red Hat)
2018-01-03 18:53:23 UTC
+++ This bug was initially created as a clone of Bug #1502780 +++
Description of problem:
radosgw refuses upload when Content-Type missing from POST policy
Upstream tracker: http://tracker.ceph.com/issues/20201
Version-Release number of selected component (if applicable):
jewel 10.2.7
How reproducible:
In the customer environment always
When doing an S3 upload, if Content-Type is missing from the policy part of the upload, then radosgw refuses the upload with a 403 error, "Policy missing condition: Content-Type". The same upload to AWS S3 is successful, despite the Content-Type not being present in the uploaded policy. radosgw should accept this, for better interoperability.
Context: this was encountered when using Fine Uploader https://github.com/FineUploader/fine-uploader to get files into an S3 bucket. When a user tries to upload a file which the browser can't identify (because it has an unrecognized or missing filename extension) then the Content-Type is not added to the POST'ed policy.
--- Additional comment from Vikhyat Umrao on 2017-10-16 10:52:50 MDT ---
Attachments:
options-and-failing-post-20170531.txt is a radosgw debug = 20 log, showing the OPTIONS pre-flight call succeeding, and the POST failing at "env var missing in policy: Content-Type"
s3-upload-policy-missing-content-type-20170531.txt is cut-and-paste from the browser dev tools, showing the request headers and payload.
Where are you experiencing the behavior? What environment?
We first encountered this on Ceph 10.2.3. Our Ceph is 10.2.7 (latest Ubuntu packaged version for Xenial).
--- Additional comment from Vikhyat Umrao on 2017-11-01 14:00:14 MDT ---
Master branch PR - https://github.com/ceph/ceph/pull/18658
--- Additional comment from on 2017-11-14 07:50:21 MST ---
customer has confirmed this resolved their issue, and has also updated Upstream tracker stating this: http://tracker.ceph.com/issues/20201
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:0474