View a markdown version of this page

Cross-origin Unterstützung für die gemeinsame Nutzung von Ressourcen und Amazon EC2 - Amazon Elastic Compute Cloud

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.

Cross-origin Unterstützung für die gemeinsame Nutzung von Ressourcen und Amazon EC2

Die Amazon EC2-API unterstützt Cross-Origin Resource Sharing (CORS). CORS definiert eine Möglichkeit für Client-Webanwendungen, die in einer Domain geladen werden, mit Ressourcen in einer anderen Domain zu interagieren. Weitere Informationen finden Sie in der W3C-Empfehlung zur gemeinsamen Nutzung von Cross-Origin Ressourcen. Mit der CORS-Unterstützung für Amazon EC2 können Sie umfangreiche clientseitige Webanwendungen erstellen, die die Amazon EC2-API verwenden. Angenommen, Sie hosten eine Website und möchten diese JavaScript auf Ihren Webseiten verwendenmywebsite.example.com, um Anfragen an die Amazon EC2-API zu stellen. Normalerweise blockiert JavaScript ein Browser die Zulassung dieser Anfragen, aber mit CORS können Sie ursprungsübergreifende Amazon EC2-API-Aufrufe von ausführen. mywebsite.example.com

CORS ist bereits für die Amazon EC2-API aktiviert und kann von Ihnen verwendet werden. Sie müssen keine zusätzlichen Konfigurationsschritte ausführen, um diese Funktion nutzen zu können. Die Art und Weise, wie Sie die Amazon EC2-API aufrufen, ändert sich nicht. Sie müssen weiterhin mit gültigen AWS Anmeldeinformationen signiert sein, um sicherzustellen, dass der Anforderer authentifiziert werden AWS kann. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Signieren von AWS API-Anfragen.

Die Implementierung von CORS in der Amazon EC2-API ist standardisiert. Ihre Anwendung kann eine einfache Anfrage an die Amazon EC2-API senden oder, je nach Inhalt der Anfrage, eine Preflight-Anfrage, gefolgt von einer tatsächlichen Anfrage. Amazon EC2 erlaubt die Anfrage von jeder Herkunft

Weitere Informationen zu CORS und Beispiele dafür, wie es funktioniert, finden Sie im folgenden Artikel im Mozilla Developer Network: HTTP Access Control (CORS).

Einfache Anfragen

Die folgenden Kriterien definieren eine einfache oder tatsächliche Anfrage:

  • Anfragen verwenden nur die GET oder POST HTTP-Methoden. Wenn die POST Methode verwendet wird, Content-Type kann nur eine der folgenden Methoden verwendet werden: application/x-www-form-urlencodedmultipart/form-data, odertext/plain.

  • Anfragen setzen keine benutzerdefinierten Header, wie z. B. X-Other-Header

Amazon EC2 erlaubt die Anfrage von jeder Herkunft. Jede GET POST Anforderung, die versucht, Browseranmeldeinformationen zu verwenden, indem der Access-Control-Allow-Credentials Wert auf true (whereXMLHttpRequest.withCredentials = true) gesetzt wird, schlägt fehl.

Die folgenden Informationen beschreiben die Anforderungsheader für Amazon EC2:

Einfache Anforderungsheader-Werte
  • Origin: Gibt die Domain an, die auf die Ressource zugreifen möchte (in diesem Fall ist die Ressource Amazon EC2). Dies wird vom Browser in eine ursprungsübergreifende Anfrage eingefügt.

Die folgenden Informationen beschreiben die Antwort-Header, die Amazon EC2 nach einer einfachen oder tatsächlichen Anfrage zurückgibt (oder nicht zurückgibt):

Einfache Antwort-Header-Werte
  • Access-Control-Allow-Origin: Gibt die Domain an, die auf die Ressource zugreifen kann (in diesem Fall ist die Ressource Amazon EC2). Dies wird immer mit dem Wert * zurückgegeben. Daher erlaubt Amazon EC2 jede domänenübergreifende Herkunft und niemals Browseranmeldeinformationen wie Cookies.

  • Access-Control-Allow-Credentials: Gibt an, ob die Browseranmeldedaten für die eigentliche Anfrage verwendet werden können. Dies wird niemals zurückgegeben. Daher sollte der Browser den Wert als interpretierenAccess-Control-Allow-Credentials: false.

Preflight-Anfragen

Wenn der Inhalt Ihrer Anfrage die unten aufgeführten Kriterien erfüllt, wird Ihre Anfrage daraufhin überprüft, ob die eigentliche Anfrage gesendet werden sollte. Eine Preflight-Anfrage sendet zunächst mithilfe der Methode eine HTTP-Anfrage an die Ressource (in diesem Fall Amazon EC2). OPTIONS

Die folgenden Kriterien definieren eine Preflight-Anfrage:

  • Anfragen verwenden andere HTTP-Methoden als GET oderPOST. Wenn die POST Methode jedoch verwendet wird, handelt Content-Type es sich nicht um eine der folgenden Methoden: application/x-www-form-urlencodedmultipart/form-data, odertext/plain.

  • Anfragen legen benutzerdefinierte Header fest; zum BeispielX-Other-Header.

Die Amazon EC2 CORS-Implementierung erlaubt alle Header und lässt jeden Ursprung in der eigentlichen Anfrage zu.

Die folgenden Informationen beschreiben die Anforderungsheader für eine Preflight-Anfrage an Amazon EC2:

Header-Werte für Preflight-Anfragen
  • Origin: Gibt die Domain an, die auf die Ressource zugreifen möchte (in diesem Fall ist die Ressource Amazon EC2). Dies wird vom Browser in eine ursprungsübergreifende Anfrage eingefügt.

  • Access-Control-Request-Method: Die HTTP-Methode, die in der eigentlichen Anfrage vom Browser verwendet werden soll.

  • Access-Control-Request-Headers: Die benutzerdefinierten Header, die in der eigentlichen Cross-Origin-Anfrage gesendet werden sollen.

Die folgenden Informationen beziehen sich auf die Antwort-Header, die Amazon EC2 nach einer Preflight-Anfrage zurückgibt (oder nicht zurückgibt):

Werte im Preflight-Antwort-Header
  • Access-Control-Allow-Origin: Gibt die Domain an, die auf die Ressource zugreifen kann (in diesem Fall ist die Ressource Amazon EC2). Dies wird immer mit dem Wert * zurückgegeben. Daher erlaubt Amazon EC2 jede domänenübergreifende Herkunft und niemals Browseranmeldeinformationen wie Cookies.

  • Access-Control-Allow-Credentials: Gibt an, ob die Browseranmeldedaten für die eigentliche Anfrage verwendet werden können. Dies wird niemals von Amazon EC2 zurückgegeben. Daher sollte der Browser den Wert als Access-Control-Allow-Credentials: false interpretieren.

  • Access-Control-Expose-Headers: Ermöglicht die Anzeige von Headern für den Browser. Dies wird niemals von Amazon EC2 zurückgegeben. Daher können keine Return-Header von Amazon EC2 von der anfordernden Domain gelesen werden.

  • Access-Control-Max-Age: Gibt an, wie lange die Ergebnisse einer Preflight-Anfrage zwischengespeichert werden können. Der Wert ist auf 1800 Sekunden (30 Minuten) festgelegt.

  • Access-Control-Allow-Methods: Gibt an, welche Methoden bei einer tatsächlichen Anfrage zulässig sind. Die folgenden Methoden sind zulässig: GET POSTOPTIONS,DELETE, undPUT. Dies hängt auch davon ab, wie Sie die Amazon EC2-API aufrufen, z. B. mithilfe der Query-API oder mithilfe von REST.

  • Access-Control-Allow-Headers: Gibt an, welche Header in der eigentlichen Anfrage verwendet werden können. Amazon EC2 akzeptiert alle Header in Preflight-Anfragen. Wenn die HTTP-Header für die eigentliche Anfrage nicht relevant sind, werden sie ignoriert.