title: Getting RequestTimeout from S3 when uploading to a presigned URL
body: <p>For small files, say &lt; 5Mb, uploading to S3 via a presigned URL is working fine. When I try to upload anything larger than this then, I seem to get <code>400 Bad Request</code> responses from S3 with <code>RequestTimeout</code> as the error.</p>
  
  <p>I'm able to recreate this using curl:</p>
  
  <pre><code># Create a test file:
  mkfile -n 20m ./testfile
  
  # Get the presigned URL
  curl -XPOST http://localhost:3000/uploads -d "filename=testdata"
  
  # Upload to S3
  curl -H "Content-Type: binary/octet-stream" -XPUT -vvv -T testfile "&lt;Presigned URL&gt;"
  </code></pre>
  
  <p>Signing code looks like this:</p>
  
  <pre><code>@presigned_url ||= Aws::S3::Presigner.new.presigned_url(
    :put_object,
    bucket: ENV['AWS_BUCKET'],
    key: key,
    acl: 'private',
    expires_in: 3600,
    content_type: 'binary/octet-stream'
  )
  </code></pre>
  
  <p>Note that this all works fine for files &lt; 5Mb, with more frequent failures occurring as the file size increases. Has anyone seen these issues and resolved them?</p>