Amazon S3 - HTTPS / SSL - Ist das möglich? [geschlossen]


177

Ich habe ein paar andere Fragen dazu gesehen, ohne echte Antworten oder Informationen (oder so schien es).

Ich habe hier ein Bild:
http://furniture.retailcatalog.us/products/2061/6262u9665.jpg

Die Weiterleitung erfolgt an:
http://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

Ich muss es sein (https):
https://furniture.retailcatalog.us/products/2061/6262u9665.jpg

Also habe ich eine Wildcard-SSL auf RetailCatalog.us installiert (wir haben andere Subdomains), aber es hat nicht funktioniert. Ich habe https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg überprüft

Und es hat nicht funktioniert, was bedeutet, dass auf der Amazon S3-Website selbst das https nicht funktioniert hat.

Wie mache ich das?


Ihre Frage erklärt nicht genau, was Sie tun möchten. Möchten Sie http-Anfragen an https weiterleiten lassen? In diesem Fall sollten Sie den Titel der Frage umformulieren, um diese Tatsache besser darzulegen. Das wird mehr Menschen helfen, diese Frage zu finden und zu beantworten.
A. Levy

Nein, ich möchte sicher auf das Bild zugreifen. Ist das möglich?
Kerry Jones

Diese letzte URL funktioniert für mich, obwohl sie mit einem Zertifikatfehler einhergeht, der wahrscheinlich ein Problem für Sie darstellt
Michael Haren

Ja, das ist ein Problem. Für mich in verhindert, dass ich es überhaupt sehe, und ich muss das Zertifikat manuell überprüfen, um es zu sehen.
Kerry Jones

1
Nur ein paar Jahre zu spät zum Spiel, aber SSL-Namen funktionieren mit Cloudfront. Beispiel cdn.example.com zeigt auf randomstring.cloudfront.net, das auf Ihren s3-Bucket zeigt. https: // cdn.example.com liefert Inhalte ohne Fehler, aber Sie erhalten eine Zertifizierungswarnung, wenn Sie versuchen, die URL direkt zu durchsuchen.
Neil McGuigan

Antworten:


182

Dies ist eine Antwort, die ich von ihren Premium Services erhalten habe

Hallo,

Dies ist tatsächlich ein Problem bei der Art und Weise, wie SSL Namen überprüft, die einen Punkt, '.',> Zeichen enthalten. Wir haben dieses Verhalten hier dokumentiert:

http://docs.amazonwebservices.com/AmazonS3/latest/dev/BucketRestrictions.html

Die einzige einfache Lösung hierfür ist die Verwendung eines Bucket-Namens, der dieses Zeichen nicht enthält. Sie können stattdessen einen Eimer mit dem Namen "Möbel-Einzelhandelskatalog-uns" verwenden. Dies würde es Ihnen ermöglichen, HTTPS mit zu verwenden

https://furniture-retailcatalog-us.s3.amazonaws.com/

Sie können natürlich einen CNAME-DNS-Eintrag einfügen, um dies zu vereinfachen. Beispielsweise,

images-furniture.retailcatalog.us IN CNAMEiture-retailcatalog-us.s3.amazonaws.com.

Hoffentlich hilft das. Lassen Sie uns wissen, wenn Sie weitere Fragen haben.

Amazon Web Services

Leider führt Ihr "freundlicher" CNAME bei der Validierung des Zertifikats zu einer Nichtübereinstimmung des Hostnamens. Daher können Sie ihn nicht wirklich für eine sichere Verbindung verwenden. Eine große fehlende Funktion von S3 ist das Akzeptieren von benutzerdefinierten Zertifikaten für Ihre Domains.


UPDATE 02.10.2012

Von @mpoisot:

Der von Amazon bereitgestellte Link sagt nichts mehr über https aus. Ich stöberte in den S3-Dokumenten herum und fand schließlich einen kleinen Hinweis dazu auf der Virtual Hosting-Seite: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html


UPDATE 17.06.2013

Von @Joseph Lust:

Habe es gerade verstanden! Probieren Sie es aus und melden Sie sich für eine Einladung an: http://aws.amazon.com/cloudfront/custom-ssl-domains


22
+1 für die Weiterverfolgung Ihrer gewonnenen Frage - sehr hilfreiche Informationen, die in der S3-Dokumentation leicht übersehen werden!
Steffen Opel

1
Der von Amazon bereitgestellte Link sagt nichts mehr über https aus. Ich stöberte in den S3-Dokumenten herum und fand schließlich einen kleinen Hinweis dazu auf der Virtual Hosting-Seite: docs.amazonwebservices.com/AmazonS3/latest/dev/…
mpoisot

4
Beachten Sie, dass es 600 US-Dollar pro Monat sind. : -o
einsames Boot

8
Es ist jetzt möglich, Ihr eigenes SSL-Zertifikat für Cloudfront ohne zusätzliche Kosten zu verwenden . Die Gebühr von 600 $ / m ist also weg.
schickling

4
@schickling Es ist auch erwähnenswert, dass CloudFront diese Änderung vorgenommen hat, indem Sie zwischen SNI und Dedicated IP SSL wählen können . Dediziertes IP-SSL kostet weiterhin 600 US-Dollar, SNI-SSL ist jedoch kostenlos. Stellen Sie einfach sicher, dass die Browser, auf die Sie abzielen, SNI unterstützen.
Ryan Pendleton

111

Ich weiß, dass es ein Jahr später ist, aber wenn Sie dies verwenden, wird es gelöst: https://s3.amazonaws.com/furniture.retailcatalog.us/products/2061/6262u9665.jpg

Ich habe dies auf einer anderen Website gesehen ( http://joonhachu.blogspot.com/2010/09/helpful-tip-for-amazon-s3-urls-for-ssl.html ).


18
scheint es nicht wirklich zu lösen. Es verwendet immer noch den Amazon-Domainnamen (s3.amazonaws.com), also ist es scheiße!
Themihai

14
Das saugt nicht. Ja, die Domäne ist anders, aber Sie können Inhalte über SSL in einem vorhandenen Bucket in S3 bereitstellen. Ohne dieses Schema müssen Sie einen Bucket nur für Ihre von SSL bereitgestellten Dateien erstellen (da das S3-Platzhalter-SSL-Zertifikat nicht mit files.yourdomain.com.s3.amazonaws.com übereinstimmt): secure-yourdomain.s3.amazonaws.com . Jetzt müssen Sie zwei Eimer verwalten, anstatt einen. Keine große Sache, aber in Web-Apps ist mehr Komplexität als das, was unbedingt benötigt wird, zum Kotzen.
Andrew

7
Hallo, ich bin tatsächlich der Typ, der den Referenzlink geschrieben hat, den Sie dort "Joonha" gesetzt haben. Das kleine Juwel, das Sie nicht verpassen sollten, ist die Verwendung dieser Technik + "//" allein als Protokollbeginn. In meinem E-Commerce-Entwicklungsgeschäft verlinken wir URLs mit "//" anstelle von "https: // oder" http: // ", weil wir uns zu diesem Zeitpunkt nie darum kümmern müssen.
Jason Sebring

4
Es scheint, dass dies nicht mehr funktioniert. Ich habe einen PermanentRedirect-Fehler erhalten.
Paulo Casaretto

5
Siehe meine neue Antwort, warum dies für einige Leute funktioniert und nicht für andere. Es ist wichtig, in welcher Region sich Ihre Eimer befinden.
Nate

47

Die Antwort von payton109 ist richtig, wenn Sie sich in der Standardregion US-EAST-1 befinden. Wenn sich Ihr Bucket in einer anderen Region befindet, verwenden Sie eine etwas andere URL:

https://s3-<region>.amazonaws.com/your.domain.com/some/asset

Wo <region>ist der Name des Bucket-Standorts? Wenn sich Ihr Eimer beispielsweise in der us-west-2Region (Oregon) befindet, können Sie Folgendes tun:

https://s3-us-west-2.amazonaws.com/your.domain.com/some/asset

1
Bei Verwendung eines CNAME-DNS-Eintrags geht es nur um die Domänenauflösung, sodass Sie nicht zu einer URL mit einem Pfad umleiten können. Siehe auch: stackoverflow.com/questions/32714351/…
Sebastien Lorber

Das funktioniert bei mir und ist die vollständigste Antwort.
Besimple

2
Dies ist gut, aber es umgeht statische Website-Hosting-Regeln, wie Umleitungsregeln zu index.html
Kim T

Dies ist die perfekte Lösung für Webentwickler ohne Entwickler oder Systemadministrator. Sicher, Ihre Assets haben keine elegante Domain, aber wie viele Kunden überprüfen die HTML- oder zugrunde liegenden Anforderungen und tsk tsk tsk unter der Domain-URL? Nicht viele! Es ist in erster Linie ein guter erster Schritt, Ihre statischen Assets aus Ihrer Anwendung in S3 zu bringen.
stwr667

8

Wie bereits erwähnt, ist dies nicht direkt möglich, aber Sie können Apache oder nginx + SSL auf einer EC2-Instanz einrichten, Ihre gewünschte Domain darauf CNAME und einen Reverse-Proxy auf die S3-URLs (nicht benutzerdefinierte Domain).


Eine Möglichkeit, den vollständig qualifizierten SSL-Pfad zu einer S3-Ressource zu finden, besteht darin, mithilfe der AWS-Konsole einen Drilldown zu diesem Pfad durchzuführen. Der vollständige Pfad wird unten auf der Registerkarte Übersicht angezeigt.
Eric Gilberton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.