mugglmenzel / journwe

travel together
journwe.com
3 stars 0 forks source link

Documents can not been downloaded #121

Closed wtscheschner closed 10 years ago

wtscheschner commented 10 years ago

Nachdem ich ein document hochgeladen habe und ich es wieder runterladen möchte kommt folgender Fehler:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>896A9422CD29A2A3</RequestId>
<HostId>
b2w4WhRdUTf47UmP8HNcq9UKNdnewZEtvWZehPkXIcH9Z6ZFmjt1pLP8TCQA752G
</HostId>
</Error>
mugglmenzel commented 10 years ago

Konnte Fehler replizieren. Muss S3 Rechte auf Datei sein. Sollten wir aber überdenken ob Dateien denn Rechte kriegen public heruntergeladen werden zu können (spart uns traffic auf dem server) oder ob wir sie schützen und downloads durch den web server streamen.

markusklems commented 10 years ago

Vielleicht eine pre-signed S3 URL generieren, die 24h lang gültig ist und solange ge-cached wird?

mugglmenzel commented 10 years ago

habs vor paar tagen gefixt, aber unschön. documents werden auf s3 mit publicread rechten ausgestattet. dann geht der link.

markusklems commented 10 years ago

OK. Im Prinzip weiß ich wie mans hinkriegt. Scheint mir aber im Moment nicht Prio no 1. Schlage vor wir verschieben das auf ein späteres release und lassen erst mal die PUBLiC access rights.

markusklems commented 10 years ago

Habs jetzt auf presigned URL umgestellt (commit 973db21ed7c836e8e2e1441e55288293a06a8744). Die URL wird im Moment nicht ge-cacht. Sie darf maximal EXPIRATION_TIME_IN_SECONDS = 86400 (= 24 Stunden) lang ge-cacht werden.

markusklems commented 10 years ago

Bei genauerem Überlegen ist das mit dem caching gar nicht so trivial. Wir müssen dafür in der Business Logik checken ob der Cache schon expired ist und eine neue presigned URL generiert werden soll. Mal überlegen, wie man das am besten umsetzt...