title: FineUploaderS3: socket connection to the server was not read from or written to within the timeout period
body: <p>We are using FineUploader 5.4.1's jQuery uploader. Periodically, our uploads to AWS S3 are failing. It's working consistently from one of our office locations and failing from the other.</p>
  
  <p><strong>Request:</strong></p>
  
  <p>Accept:<em>/</em>
  Accept-Encoding:gzip, deflate
  Accept-Language:en-US,en;q=0.8
  Cache-Control:no-cache
  Connection:keep-alive
  Content-Length:1129759
  Content-Type:multipart/form-data; boundary=----WebKitFormBoundarySNlCNy1xiPquuzCl
  Host:s3.amazonaws.com
  Origin:
  Pragma:no-cache
  Referer:
  User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/47.0.2526.73 Chrome/47.0.2526.73 Safari/537.36
  Request Payload
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="key"</p>
  
  <p>virginia/original/b71bb640-c771-44d9-9d28-44a075197bc3.png
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="Content-Type"</p>
  
  <p>image/png
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="success_action_status"</p>
  
  <p>200
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="acl"</p>
  
  <p>public-read
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="x-amz-meta-qqparentuuid"</p>
  
  <p>3d343555-7821-43d3-a954-aba2ce17f597
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="x-amz-meta-qqparentsize"</p>
  
  <p>983029
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="x-amz-meta-qquuid"</p>
  
  <p>b71bb640-c771-44d9-9d28-44a075197bc3
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="x-amz-meta-qqfilename"</p>
  
  <p>missing%20(o).png
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="AWSAccessKeyId"</p>
  
  <p>AKIAIVACH6FJDZWZ5LYA
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="policy"</p>
  
  <p>eyJleHBpcmF0aW9uIjoiMjAxNS0xMi0zMFQwNzoyMDowMy41NjBaIiwiY29uZGl0aW9ucyI6W3siYWNsIjoicHVibGljLXJlYWQifSx7ImJ1Y2tldCI6InZpcmdpbmlhLmlua2l2ZS5jb20ifSx7IkNvbnRlbnQtVHlwZSI6ImltYWdlXC9wbmcifSx7InN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyI6IjIwMCJ9LHsia2V5IjoidmlyZ2luaWFcL29yaWdpbmFsXC9iNzFiYjY0MC1jNzcxLTQ0ZDktOWQyOC00NGEwNzUxOTdiYzMucG5nIn0seyJ4LWFtei1tZXRhLXFxcGFyZW50dXVpZCI6IjNkMzQzNTU1LTc4MjEtNDNkMy1hOTU0LWFiYTJjZTE3ZjU5NyJ9LHsieC1hbXotbWV0YS1xcXBhcmVudHNpemUiOiI5ODMwMjkifSx7IngtYW16LW1ldGEtcXF1dWlkIjoiYjcxYmI2NDAtYzc3MS00NGQ5LTlkMjgtNDRhMDc1MTk3YmMzIn0seyJ4LWFtei1tZXRhLXFxZmlsZW5hbWUiOiJtaXNzaW5nJTIwKG8pLnBuZyJ9LFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCIwIiwiMTUwMDAwMDAwIl1dfQ==
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="signature"</p>
  
  <p>J7XwHe5kmIVXznw+8cIiGwiyLbE=
  ------WebKitFormBoundarySNlCNy1xiPquuzCl
  Content-Disposition: form-data; name="file"; filename="blob"
  Content-Type: image/png</p>
  
  <p>------WebKitFormBoundarySNlCNy1xiPquuzCl--</p>
  
  <p><strong>Response:</strong></p>
  
  <p><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Error&gt;&lt;Code&gt;RequestTimeout&lt;/Code&gt;&lt;Message&gt;Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.&lt;/Message&gt;&lt;RequestId&gt;C7E8E596E8FF701A&lt;/RequestId&gt;&lt;HostId&gt;aIePbPl+NPEr3/6LZkV9KlFzVpPTapnROfoNgI/DN+/t1zrttudxSADiPcCdwVnBq15BDKeodwY=&lt;/HostId&gt;&lt;/Error&gt;</code></p>
  
  <p>On the same network, AWS CLI managed to upload the same file successfully multiple times.</p>
  
  <p>Our FineUploader settings:</p>
  
  <pre><code>{
      uploaderType: 'basic',
      maxConnections: 3,
      request: {
          endpoint: &lt;OUR BUCKET&gt;,
          accessKey: &lt;OUR UPLOAD KEY&gt;
      },
      signature: {
          endpoint: &lt;OUR UPLOAD SIGNATURE ENDPOINT&gt;
      },
      uploadSuccess: {
          endpoint: &lt;OUR UPLOAD SUCCESS ENDPOINT&gt;,
          params: {
              param1: "Hello",
              param2: "World"
          }
      },
      iframeSupport: {
          localBlankPagePath: &lt;HTML FILE URL&gt;
      },
      retry: {
          showButton: true
      },
      chunking: {
          enabled: true
      },
      resume: {
          enabled: true
      },
      validation: {
          sizeLimit: 150000000
      },
      messages: {
          typeError: '{file} has an invalid extension. Valid      extension(s):   {extensions}.'
      }
  };
  </code></pre>
  
  <p>Tried with and without chunking. </p>