2017-04-30 5 views
1

Wir erwägen, unsere Dateilieferung an Cloudfront zu übertragen.S3 eingeschränkte URLs vs. Cloudfront signierte URLs

Derzeit erzeugen wir „sicher“ URLs für unsere Dateiübermittlungen auf individueller Basis, die wie folgt aussehen: http://downloads.xxxxx.com/1/2005-01-01_2006-01-01.csv?AWSAccessKeyId=012NFZM3D44FSG20CP82&Expires=1495287427&response-cache-control=No-cache&response-content-disposition=attachment%3B%20filename%3D2005-01-01_2006-01-01.csv&Signature=tWAeES3rhAlv2SQoZkqyYJEexH0%3D

Gibt es eine einfache Möglichkeit, Cloudfront auf die URL oben anwenden, oder müssen wir sie konfigurieren von Grund auf mit signierten URLs? Würde der S3 die URL mit Cloudfront "pass-through" authentifizieren, wenn ich dort eine einfache Distribution erstelle?

Antwort

2

Es ist theoretisch möglich, CloudFront so zu konfigurieren, dass es eine S3-signierte URL weiterleitet, aber dies würde das gesamte Caching verhindern, also ... nein, es ist keine praktikable Lösung.

CloudFront verwendet eine entirely different algorithm for signed URLs, daher gibt es keine Möglichkeit, eine vorhandene S3-signierte URL einfach in eine CloudFront-signierte URL umzuwandeln.

Beachten Sie auch, dass Sie die vorhandenen Parameter response-* in die URL einbetten müssen, bevor Sie sie signieren. CloudFront sollte sie trotzdem weiterleiten, damit S3 seine Antwort wie angegeben ändern kann.


Unrelated: eine Funktion, die Sie interessant finden könnte, ist, dass mit Cloudfront URLs unterzeichnet, die Sie tatsächlich die optionale Möglichkeit, die Client-IP-Adresse in der URL in einer solchen Art und Weise, dass die URL kann einzubetten nur von einem verwendet werden einzelne IP-Adresse. Dies kann nicht direkt mit einer S3-signierten URL durchgeführt werden.

Verwandte Themen