Newtt
Newtt

Reputation: 6190

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.

Upvotes: 6

Views: 1219

Answers (1)

koolkoda
koolkoda

Reputation: 365

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.

Upvotes: 2

Related Questions