Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Virtuelles Hosting bei Buckets
Das virtuelle Hosting ist das beste Verfahren, um mehrere Websites mit einem Webserver zu unterstützen. Eine Möglichkeit, die Websites in Ihren REST-API-Anforderungen von Amazon S3 zu unterscheiden, ist die Verwendung des Hostnamens in der Anforderungs-URI anstelle des Pfadnamens in der URI. Eine gewöhnliche Amazon-S3-REST-Anfrage gibt einen Bucket an, indem sie die erste durch Schrägstrich abgetrennte Komponente des Pfads der Anfrage-URI verwendet. Stattdessen können Sie das virtuelle Hosting von Amazon S3 verwenden, um mit dem HTTP-Header Host
einen Bucket in einem REST-API-Aufruf anzusprechen. In der Praxis interpretiert Amazon S3 Host
so, dass die meisten Buckets automatisch (für begrenzte Anfragetypen) unter https://
zur Verfügung stehen. Eine vollständige Liste der Amazon-S3-Regionen und -Endpunkte finden Sie unter Amazon-S3-Endpunkte und -Kontingente in der Allgemeine Amazon Web Services-Referenz.bucket-name
.s3.region-code
.amazonaws.com
Virtuelles Hosting hat auch andere Vorteile. Wenn Sie Ihrem Bucket denselben Namen wie Ihrer registrierten Domäne geben und diesen Namen dann zu einem DNS-Alias für Amazon S3 machen, können Sie die URL Ihrer Amazon-S3-Ressourcen vollständig anpassen, z. B, http://my.
. Sie können auch im „Stammverzeichnis“ des virtuellen Servers Ihres Buckets veröffentlichen. Diese Fähigkeit kann wichtig sein, da viele vorhandene Anwendungen nach Dateien an diesem Standardspeicherort suchen. Beispielsweise wird erwartet, dass bucket-name
.com/favicon.ico
, robots.txt
und crossdomain.xml
im Stamm gefunden werden können.
Wichtig
Bei Verwendung von virtuell gehosteten Buckets mit SSL stimmt das SSL-Platzhalterzertifikat nur mit Buckets überein, die keine Punkte (.
) enthalten. Zur Umgehung dieser Einschränkung verwenden Sie HTTP oder schreiben Sie Ihre eigene Logik zur Verifizierung von Zertifikaten. Weitere Informationen finden Sie unter Amazon S3 Path Deprecation Plan
Themen
Anforderungen im Pfadformat
Derzeit unterstützt Amazon S3 den URL-Zugriff in allen AWS-Regionen sowohl im virtuellem Hosting- als auch im Pfadformat. Path-Style URLs wird jedoch in future eingestellt. Weitere Informationen finden Sie im folgenden wichtigen Hinweis.
In Amazon S3 URLs verwendet path-style das folgende Format:
https://s3.
region-code
.amazonaws.com/bucket-name
/key-name
Wenn Sie beispielsweise einen Bucket namens amzn-s3-demo-bucket1
in der Region USA West (Oregon) erstellen und in dem Bucket auf das Objekt puppy.jpg
zugreifen möchten, können Sie die folgende URL im Pfad-Stil verwenden:
https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket1/puppy.jpg
Wichtig
Update (23. September 2020) — Um sicherzustellen, dass Kunden die Zeit haben, die sie für die Umstellung auf virtuell gehostete Systeme benötigen, haben wir beschlossen URLs, die Einstellung von Path-Style zu verzögern. URLs Weitere Informationen finden Sie unter Amazon S3 Path Deprecation Plan – The Rest of the Story
Warnung
Vermeiden Sie beim Hosten von Website-Inhalten, auf die über einen Webbrowser zugegriffen wird, die Verwendung des Pfadformats, da dies das Sicherheitsmodell des Browsers „Selbe Origin“ beeinträchtigen URLs könnte. Zum Hosten von Website-Inhalten empfehlen wir, entweder S3-Website-Endpunkte oder eine Distribution zu verwenden. CloudFront Weitere Informationen finden Sie unter Website-Endpunkte und Bereitstellen einer React-basierten Einzelseitenanwendung für Amazon S3 und CloudFront in den AWS Perspective Guidance Patterns.
Anforderungen im virtuellen Hosting-Format
In einer URL im virtuellen Hosting-Stil ist der Bucket-Name Teil des Domänennamens in der URL.
Verwenden Sie im virtuellen Hosted-Stil von Amazon S3 das folgende Format: URLs
https://
bucket-name
.s3.region-code
.amazonaws.com/key-name
In diesem Beispiel ist amzn-s3-demo-bucket1
der Bucket-Name, "US West (Oregon) (USA West (Oregon))" die Region und puppy.png
der Schlüsselname:
https://amzn-s3-demo-bucket1.s3.us-west-2.amazonaws.com/puppy.png
Bucket-Spezifikation für HTTP-Host
-Header
So lange Ihre GET
-Anforderung nicht den SSL-Endpunkt verwendet, können Sie mit dem HTTP-Host
-Header den Bucket für die Anforderung festlegen. Der Host
-Header in einer REST-Anforderung wird folgendermaßen interpretiert:
-
Wenn der Header
Host
ausgelassen wird oder der Werts3.
lautet, ist der Bucket für die Anforderung die erste durch Schrägstrich abgetrennte Komponente des Anforderungs-URI und der Schlüssel für die Anforderung bildet den Rest des Anforderungs-URI. Dies ist die übliche Methode wie im ersten und zweiten Beispiel in diesem Abschnitt dargestellt. Das Weglassen desregion-code
.amazonaws.com.rproxy.goskope.comHost
-Headers ist nur bei HTTP-1.0-Anforderungen möglich. -
Wenn andernfalls der Wert des
Host
-Headers mit.s3.
endet, ist der Bucket-Name die führende Komponente im Wert desregion-code
.amazonaws.com.rproxy.goskope.comHost
-Headers bis zu.s3.
. Der Schlüssel für die Anforderung ist die Anforderungs-URI. Diese Interpretation stellt Buckets als Unterdomänen vonregion-code
.amazonaws.com.rproxy.goskope.com.s3.
bereit (vgl. das dritte und vierte Beispiel in diesem Abschnitt).region-code
.amazonaws.com -
Ansonsten ist der Bucket für die Anforderung der klein geschriebene Wert des
Host
-Headers und die Schlüssel für die Anforderung ist die Anforderungs-URI. Diese Interpretation ist nützlich, wenn Sie als DNS-Namen Ihren Bucket-Namen registriert und diesen als kanonischen Namen (CNAME-Alias) für Amazon S3 konfiguriert haben. Das Verfahren zum Registrieren von Domänennamen und Konfigurieren von CNAME-DNS-Einträgen ist nicht Gegenstand dieses Leitfadens. Das Ergebnis wird jedoch im letzten Beispiel in diesem Abschnitt dargestellt.
Beispiele
Dieser Abschnitt enthält Beispiele und Anfragen. URLs
Beispiel — Pfadstil URLs und Anfragen
In diesem Beispiel wird Folgendes verwendet:
-
Bucket-Name –
example.com
-
Region: USA Ost (Nord-Virginia)
-
Schlüsselname –
homepage.html
Die URL lautet wie folgt:
http://s3.us-east-1.amazonaws.com/example.com/homepage.html
die Anforderung lautet wie folgt:
GET /example.com/homepage.html HTTP/1.1 Host: s3.us-east-1.amazonaws.com
die Anforderung mit HTTP 1.0 unter Auslassen des Host
-Headers lautet wie folgt:
GET /example.com/homepage.html HTTP/1.0
Informationen zu mit DNS kompatiblen Namen finden Sie unter Einschränkungen. Weitere Informationen zu Schlüsseln finden Sie unter Schlüssel.
Beispiel — Virtuell URLs gehostet — Stil und Anfragen
In diesem Beispiel wird Folgendes verwendet:
-
Bucket-Name –
amzn-s3-demo-bucket1
-
Region ‐ Europa (Irland)
-
Schlüsselname –
homepage.html
Die URL lautet wie folgt:
http://amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com/homepage.html
die Anforderung lautet wie folgt:
GET /homepage.html HTTP/1.1 Host: amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com
Beispiel – CNAME-Aliasmethode
Um diese Methode zu verwenden, müssen Sie den DNS-Namen als CNAME-Alias für konfiguriere
. Weitere Informationen finden Sie unter Anpassen von Amazon S3 URLs mit CNAME-Einträgen. bucket-name
.s3.us-east-1.amazonaws.com
In diesem Beispiel wird Folgendes verwendet:
-
Bucket-Name –
example.com
-
Schlüsselname –
homepage.html
Die URL lautet wie folgt:
http://www.example.com/homepage.html
Das Beispiel ist wie folgt:
GET /homepage.html HTTP/1.1 Host: www.example.com
Anpassen von Amazon S3 URLs mit CNAME-Einträgen
Abhängig von den Anforderungen können Sie die Anzeige von s3.
auf der Website oder im Service gegebenenfalls unterbinden. Wenn Sie beispielsweise Websiteabbilder auf Amazon S3 hosten, bevorzugen Sie möglicherweise region-code
.amazonaws.com.rproxy.goskope.comhttp://images.example.com/
anstelle von http://images.example.com.s3.us-east-1.amazonaws.com/
. Auf Buckets mit einem mit DNS kompatiblen Namen kann wie folgt verwiesen werden:
http://
, z. B. BucketName
.s3.Region
.amazonaws.com/[Filename
]http://images.example.com.s3.us-east-1.amazonaws.com/mydog.jpg
. Durch die Verwendung von CNAME können Sie images.example.com
einem Amazon-S3-Host-Namen zuordnen, sodass die vorherige URL als http://images.example.com/mydog.jpg
angezeigt wird.
Der Bucket-Name muss dem CNAME entsprechen. Wenn Sie z. B. einen CNAME für die Zuordnung von images.example.com
zu images.example.com.s3.us-east-1.amazonaws.com
erstellen, sind http://images.example.com/filename
und http://images.example.com.s3.us-east-1.amazonaws.com/filename
identisch.
Der CNAME DNS-Datensatz sollte einen Alias Ihres Domänennamens für den entsprechenden Host-Namen im Stil des virtuellen Hostings erstellen. Wenn der Bucket-Name und der Domänenname z. B. images.example.com
lauten und sich Ihr Bucket in der Region USA Ost (Nord-Virginia) befindet, sollte der CNAME-Datensatz einen Alias für images.example.com.s3.us-east-1.amazonaws.com
erstellen.
images.example.com CNAME images.example.com.s3.us-east-1.amazonaws.com.
Amazon S3 verwendet den Host-Namen, um den Bucket-Namen zu ermitteln. CNAME und Bucket-Name müssen also identisch sein. Nehmen wir beispielsweise an, dass Sie www.example.com
als CNAME für www.example.com.s3.us-east-1.amazonaws.com
konfiguriert haben. Wenn Sie auf http://www.example.com
zugreifen, empfängt Amazon S3 eine Anforderung, die in etwa wie folgt aussieht:
GET / HTTP/1.1 Host: www.example.com Date:
date
Authorization:signatureValue
Amazon S3 sieht nur den ursprünglichen Host-Namen www.example.com
und kennt die zum Auflösen der Anforderung verwendete CNAME-Zuordnung nicht.
In einem CNAME-Alias können Sie jeden beliebigen Amazon-S3-Endpunkt verwenden. Beispielsweise kann s3.ap-southeast-1.amazonaws.com
in CNAME-Aliasnamen verwendet werden. Weitere Informationen zu Regionen und Endpunkten von Amazon S3 finden Sie unter Anforderungsendpunkte in der Amazon-S3-API-Referenz. Informationen zum Erstellen einer statischen Website mit einer benutzerdefinierten Domäne finden Sie unter Tutorial: Konfigurieren einer statischen Website mithilfe einer benutzerdefinierten bei Route 53 registrierten Domäne.
Wichtig
Wenn Sie custom URLs with verwenden CNAMEs, müssen Sie sicherstellen, dass für jeden von Ihnen konfigurierten CNAME- oder Alias-Datensatz ein passender Bucket vorhanden ist. Wenn Sie beispielsweise DNS-Einträge für www.example.com
und login.example.com
erstellen, um Webinhalte mit S3 zu veröffentlichen, müssen Sie die beiden Buckets www.example.com
und login.example.com
erstellen.
Wenn ein CNAME- oder Alias-Datensatz konfiguriert ist, der auf einen S3-Endpunkt ohne einen passenden Bucket verweist, kann jeder AWS Benutzer diesen Bucket erstellen und Inhalte unter dem konfigurierten Alias veröffentlichen, auch wenn der Eigentümer nicht derselbe ist.
Aus diesem Grund empfehlen wir, den entsprechenden CNAME oder Alias zu ändern oder zu entfernen, wenn Sie einen Bucket löschen.
Verknüpfen eines Host-Namens mit einem Amazon-S3-Bucket
So verknüpfen Sie einen Host-Namen unter Verwendung eines CNAME-Alias mit einem Amazon-S3-Bucket
-
Wählen Sie einen Host-Namen aus, der zu einer von Ihnen kontrollierten Domäne gehört.
Dieses Beispiel verwendet die Unterdomäne
images
der Domäneexample.com
. -
Erstellen Sie einen Bucket, der dem Host-Namen entspricht.
In diesem Beispiel lauten der Host- und der Bucket-Name
images.example.com
. Der Bucket-Name muss exakt mit dem Host-Namen übereinstimmen. -
Erstellen Sie einen CNAME-Eintrag, der den Host-Namen als Alias für den Amazon-S3-Bucket definiert.
Zum Beispiel:
images.example.com CNAME images.example.com.s3.us-west-2.amazonaws.com
Wichtig
Aus Gründen des Anforderungs-Routings muss der CNAME-Eintrag genau wie im vorherigen Beispiel dargestellt definiert werden. Andernfalls kann sich trotz richtig erscheinender Funktion unvorhersehbares Verhalten ergeben.
Das Verfahren für die Konfiguration von CNAME-DNS-Einträgen ist abhängig von Ihrem DNS-Server oder DNS-Anbieter. Spezifische Informationen finden Sie in Ihrer Serverdokumentation oder erhalten Sie von Ihrem Anbieter.
Einschränkungen
Die SOAP-Unterstützung über HTTP ist veraltet, SOAP steht über HTTPS aber noch zur Verfügung. Neue Amazon-S3-Funktionen werden unter SOAP nicht unterstützt. Anstatt SOAP zu verwenden, empfehlen wir, entweder die REST-API oder die AWS SDKs zu verwenden.
Abwärtskompatibilität
Die folgenden Abschnitte behandeln verschiedene Aspekte der Amazon-S3-Abwärtskompatibilität, die sich auf URL-Anforderungen im Pfad- oder virtuellen Hosting-Format beziehen.
Legacy-Endpunkte
Einige Regionen unterstützen Legacy-Endpunkte. Möglicherweise sehen Sie diese Endpunkte in Ihren Serverzugriffsprotokollen oder AWS CloudTrail -protokollen. Weitere Informationen finden Sie im folgenden Abschnitt. Eine vollständige Liste der Amazon-S3-Regionen und -Endpunkte finden Sie unter Endpunkte und Kontingente von Amazon S3 in der Allgemeine Amazon Web Services-Referenz.
Wichtig
Obwohl Sie möglicherweise Legacy-Endpunkte in Ihren Protokollen sehen, empfehlen wir Ihnen, immer die Standardendpunktsyntax für den Zugriff auf Ihre Buckets zu verwenden.
Verwenden Sie im virtuellen Hosted-Stil von Amazon S3 das folgende Format: URLs
https://
bucket-name
.s3.region-code
.amazonaws.com/key-name
In Amazon S3 URLs verwendet path-style das folgende Format:
https://s3.
region-code
.amazonaws.com/bucket-name
/key-name
S3‐Region
Einige ältere Amazon-S3-Regionen unterstützen Endpunkte, die einen Bindestrich (-
) zwischen s3
und der Region (z. B. s3‐us-west-2
) anstelle eines Punkts (z. B. s3.us-west-2
) enthalten. Wenn sich Ihr Bucket in einer dieser Regionen befindet, wird in Ihren Serverzugriffsprotokollen oder CloudTrail -protokollen möglicherweise das folgende Endpunktformat angezeigt:
https://
bucket-name
.s3-region-code
.amazonaws.com
In diesem Beispiel lautet der Bucket-Name amzn-s3-demo-bucket1 und die Region ist US West (Oregon):
https://amzn-s3-demo-bucket1.s3-us-west-2.amazonaws.com
Globaler Legacy-Endpunkt
Für einige Regionen können Sie den globalen Legacy-Endpunkt verwenden, um Anforderungen zu erstellen, die keinen regionsspezifischen Endpunkt angeben. Der globale Legacy-Endpunkt lautet wie folgt:
bucket-name
.s3.amazonaws.com
In Ihren Serverzugriffsprotokollen oder CloudTrail -protokollen sehen Sie möglicherweise Anfragen, die den alten globalen Endpunkt verwenden. In diesem Beispiel lautet der Bucket-Name amzn-s3-demo-bucket1
und der globale Legacy-Endpunkt ist folgender:
https://amzn-s3-demo-bucket1.s3.amazonaws.com
Anforderungen im virtuellen Hosting-Format für USA Ost (Nord-Virginia)
Anforderungen, die über den globalen Legacy-Endpunkt gesendet werden, werden standardmäßig an USA Ost (Nord-Virginia) weitergeleitet. Daher wird manchmal der ältere globale Endpunkt anstelle des regionalen Endpunkts für USA Ost (Nord-Virginia) verwendet. Wenn Sie einen Bucket in USA Ost (Nord-Virginia) erstellen und den globalen Endpunkt verwenden, leitet Amazon S3 Ihre Anfrage standardmäßig an diese Region weiter.
Anforderungen im virtuellem Hosting-Format für andere Regionen
Der globale Legacy-Endpunkt wird auch für Anforderungen im virtuellen Hosting-Format in anderen unterstützten Regionen verwendet. Wenn Sie einen Bucket in einer Region erstellen, die vor dem 20. März 2019 gelauncht wurde, und den globalen Legacy-Endpunkt verwenden, aktualisiert Amazon S3 den DNS-Eintrag so, dass die Anforderung an den richtigen Speicherort umgeleitet wird. Dies kann eine Weile dauern. In der Zwischenzeit wird die Standardregel angewendet und Ihre Anfrage im virtuellen Hosting-Format wird an die Region USA Ost (Nord-Virginia) weitergeleitet. Amazon S3 leitet sie dann mit einer temporären HTTP-307-Weiterleitung an die richtige Region um.
Bei S3-Buckets in Regionen, die nach dem 20. März 2019 gestartet wurden, leitet der DNS-Server Ihre Anfrage nicht direkt an den Ort weiter, an AWS-Region dem sich Ihr Bucket befindet. Stattdessen wird ein "HTTP 400 Bad Request"-Fehler zurückgegeben. Weitere Informationen finden Sie unter Senden von Anforderungen in der API-Referenz zu Amazon S3.
Anforderungen im Pfadformat
Für die Region USA Ost (Nord-Virginia) können Sie den globalen Legacy-Endpunkt für Anforderungen im Pfadformat verwenden.
Für alle anderen Regionen erfordert die Syntax im Pfadformat, dass beim Zugriff auf einen Bucket der regionsspezifische Endpunkt verwendet werden muss. Wenn Sie versuchen, auf einen Bucket mit dem globalen Legacy-Endpunkt oder einem anderen Endpunkt zuzugreifen, der nicht der Region entspricht, in der sich der Bucket befindet, erhalten Sie als Antwortcode einen „HTTP 307 Temporary Redirect“-Fehler und eine Meldung, die den richtigen URI für Ihre Ressource angibt. Wenn Sie beispielsweise https://s3.amazonaws.com/
für einen Bucket verwenden, der in der Region USA West (Oregon) erstellt wurde, wird ein „HTTP 307 Temporary Redirect“-Fehler angezeigt.bucket-name