2016-03-07 7 views
5

Używam serwera Django hostowanego na EC2 Singapore. Używam także zasobnika S3 do zapisywania plików przesłanych za pośrednictwem panelu administracyjnego Django. Aby przesłać pliki, używam django-s3direct.Przesyłanie AWS S3. Nieważne zgodnie z Polityką: Ważność wygasła

Kiedy przesyłać pliki za pomocą mojego komputera lokalnego na czas amerykańskiego Wschodniego, to pozwala mi z przesyłaniem plików cytując:

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

Próbowałem rozwiązań z:
Fine Uploader getting "Policy expired" message sending to S3 for some i tutaj: https://github.com/FineUploader/fine-uploader/issues/1387

Kiedy sprawdzam załadowany czas i czas UTC, nie ma różnicy. Jak naprawić ten błąd?

EDYCJA: Należy zauważyć, przesyłanie działa idealnie na localhost, ale nie działa na serwerze hostowanym na AWS EC2.

+0

Jeśli pytanie jest nadal aktualne ... Czy sprawdziłeś ustawienia zegara systemowego? – ZAN

+0

Najprawdopodobniej urządzenie, od którego się przeglądasz, ma niedokładny zegar. Serwer nie ma znaczenia. –

+0

Jak powiedział @RayNicholus, najprawdopodobniej jest to niedokładny zegar. Uważaj na to, że nie bierze się pod uwagę strefy czasowej, ale sam zegar. – Ghislaindj

Odpowiedz

1

Podobne zagadnienia odnoszą się do niedokładnego zegara. Powinien to być zegar klienta, a nie serwer. Sugeruję napisanie kodu, aby sprawdzić, czy czas klienta jest zsynchronizowany ze znanym i dokładnym serwerem czasu. Jeśli czas nie jest zsynchronizowany, użytkownik może wyświetlić przyjazny komunikat, aby zaktualizować zegar systemowy. Jeśli czas jest zsynchronizowany, możesz kontynuować przesyłanie.

+0

Można również użyć funkcji [dryftu zegara] programu Fine Uploader S3 (http://docs.fineuploader.com/branch/master/features/s3.html#accounting-for-browserclient-clock-drift), aby uwzględnić zsynchronizować zegar na komputerze klienta. –

Powiązane problemy