Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS S3 upload. Invalid according to Policy: Policy expired

I'm using a Django server hosted on EC2 Singapore. I'm also using an S3 bucket to save files uploaded through the Django Admin panel. To upload files, I'm using django-s3direct.

When I upload files using my local machine on Eastern American time, it prevents me from uploading the files citing:

<Message>Invalid according to Policy: Policy expired.</Message>

I've tried the solutions from:
Fine Uploader getting "Policy expired" message sending to S3 for some and here: https://github.com/FineUploader/fine-uploader/issues/1387

When I check the uploaded time and the UTC time, there's no difference. How do I fix this error?

EDIT: To be noted, the upload works perfectly on localhost but doesn't work on the server hosted on AWS EC2.

like image 792
Newtt Avatar asked Mar 07 '16 02:03

Newtt


1 Answers

Similar issues refer to an inaccurate clock. This should be the clock of the client not the server. I suggest writing code to check whether client's time in sync with a known and accurate time server. If the time is out of sync, a friendly message can be shown to the user to update the system's clock. If the time is in sync, you can then proceed with the upload.

like image 94
koolkoda Avatar answered Oct 13 '22 20:10

koolkoda