Ich verwende einen Amazon S3-Bucket zum Hoch- und Herunterladen von Daten mit meiner .NET-Anwendung. Jetzt lautet meine Frage: Ich möchte über SSL auf meinen S3-Bucket zugreifen. Ist es möglich, SSL für einen Amazon S3-Bucket zu implementieren?
Ich verwende einen Amazon S3-Bucket zum Hoch- und Herunterladen von Daten mit meiner .NET-Anwendung. Jetzt lautet meine Frage: Ich möchte über SSL auf meinen S3-Bucket zugreifen. Ist es möglich, SSL für einen Amazon S3-Bucket zu implementieren?
Antworten:
Sie können über SSL wie folgt auf Ihre Dateien zugreifen:
https://s3.amazonaws.com/bucket_name/images/logo.gif
Wenn Sie eine benutzerdefinierte Domain für Ihren Bucket verwenden, können Sie S3 und CloudFront zusammen mit Ihrem eigenen SSL-Zertifikat verwenden (oder ein kostenloses über Amazon Certificate Manager generieren): http://aws.amazon.com/cloudfront/custom-ssl- Domains /
us-west-2
so dass der Hostname tatsächlich ist, s3-us-west-2.amazonaws.com
sonst erhalten Sie eine Fehlermeldung.
Benutzerdefinierte Domain-SSL-Zertifikate wurden heute für 600 USD / Zertifikat / Monat hinzugefügt. Melden Sie sich unten für Ihre Einladung an: http://aws.amazon.com/cloudfront/custom-ssl-domains/
Update : Vom SNI-Kunden bereitgestellte Zertifikate sind jetzt verfügbar ohne zusätzliche Kosten erhältlich. Viel billiger als 600 US-Dollar pro Monat, und da XP fast abgeschaltet ist, sollte es für die meisten Anwendungsfälle gut funktionieren.
@skalee AWS verfügt über einen Mechanismus, mit dem erreicht werden kann, was das Poster verlangt: "Implementieren von SSL für einen Amazon S3-Bucket" CloudFront
. Ich lese "implementieren" als "benutze meine SSL-Zertifikate" und setze nicht einfach ein S in die HTTP-URL, was das OP sicher vermutet haben könnte.
Da CloudFront genau so viel kostet wie S3 (0,12 US-Dollar / GB), aber eine Menge zusätzlicher Funktionen rund um SSL bietet UND Sie Ihr eigenes SNI-Zertifikat ohne zusätzliche Kosten hinzufügen können, ist dies die offensichtliche Lösung für die "Implementierung von SSL" in Ihrer Domain.
Ich habe festgestellt, dass Sie dies einfach über den Cloud Flare-Dienst tun können.
Richten Sie einen Bucket ein, aktivieren Sie das Webhosting auf dem Bucket und zeigen Sie den gewünschten CNAME über Cloudflare auf diesen Endpunkt ... und zahlen Sie natürlich für den Service ... aber 5 bis 20 US-Dollar gegenüber 600 US-Dollar sind viel einfacher zu ertragen.
Ausführliche Informationen finden Sie hier: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/
Wenn Sie es wirklich brauchen, ziehen Sie Umleitungen in Betracht.
Auf Anfrage können assets.my-domain.example.com/path/to/file
Sie beispielsweise eine 301- oder 302-Umleitung zu my-bucket-name.s3.amazonaws.com/path/to/file
oder durchführen s3.amazonaws.com/my-bucket-name/path/to/file
(bitte denken Sie daran, dass im ersten Fall my-bucket-name
keine Punkte enthalten sein können, da sie sonst nicht mit den *.s3.amazonaws.com, s3.amazonaws.com
Angaben im S3-Zertifikat übereinstimmen ).
Nicht getestet, aber ich glaube, es würde funktionieren. Ich sehe jedoch nur wenige Fallstricke.
Die erste ist ziemlich offensichtlich, eine zusätzliche Anfrage, um diese Umleitung zu erhalten. Und ich bezweifle, dass Sie den von Ihrem Domainnamen-Registrar bereitgestellten Umleitungsserver verwenden könnten - Sie müssten dort irgendwie das richtige Zertifikat hochladen -, also müssen Sie dafür Ihren eigenen Server verwenden.
Die zweite ist, dass Sie URLs mit Ihrem Domain-Namen im Seitenquellcode haben können. Wenn der Benutzer beispielsweise das Bild in einer separaten Registerkarte öffnet, wird in der Adressleiste die Ziel-URL angezeigt.
Es ist nicht direkt mit S3 möglich, aber Sie können eine Cloud Front-Distribution aus Ihrem Bucket erstellen. Gehen Sie dann zum Zertifikatmanager und fordern Sie ein Zertifikat an. Amazon gibt sie kostenlos. Wenn Sie die Zertifizierung erfolgreich bestätigt haben, weisen Sie sie Ihrer Cloud Front-Distribution zu. Denken Sie auch daran, die Regel so festzulegen, dass http auf https umgeleitet wird.
Ich hoste einige statische Websites auf Amazon S3, z. B. meine persönliche Website, der ich das SSL-Zertifikat zugewiesen habe, da sie über die Cloud Front-Distribution verfügen.
Wie bereits erwähnt, können Sie keine kostenlosen Zertifikate für S3-Buckets erstellen. Sie können jedoch eine Cloud Front-Verteilung erstellen und stattdessen das Zertifikat für die Cloud Front zuweisen. Sie fordern das Zertifikat für Ihre Domain an und weisen es dann in den Cloud Front-Einstellungen der Cloud Front-Distribution zu. Ich habe diese Methode verwendet, um statische Websites über SSL sowie statische Dateien bereitzustellen.
Für die statische Website-Erstellung ist Amazon der richtige Ort. Es ist wirklich erschwinglich, eine statische Website mit SSL zu erhalten.