Wednesday, March 23, 2016

AWS S3 upload. Invalid according to Policy: Policy expired

Leave a Comment

I'm using a Django server hosted on EC2 Singapore. I'm also using an S3 bucket that is used 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.

2 Answers

Answers 1

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.

Answers 2

i use Amazon EC2 and S3 bucket, i dont have problems with S3, but i use django-storages and boto, and i dont have problems, try use this.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment