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?

Kerry Jones
quelle
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

Kerry Jones
quelle
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 ).

payton109
quelle
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
Nate
quelle
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).

Mark Wang
quelle
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