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.
HTTP 502-Statuscode (Bad Gateway)
CloudFront gibt einen HTTP 502-Statuscode (Bad Gateway) zurück, wenn das angeforderte Objekt CloudFront nicht bedient werden konnte, weil es keine Verbindung zum Ursprungsserver herstellen konnte.
Wenn Sie Lambda @Edge verwenden, ist das Problem möglicherweise ein Lambda-Validierungsfehler. Wenn Sie einen HTTP 502-Fehler mit dem NonS3OriginDnsError
Fehlercode erhalten, liegt wahrscheinlich ein DNS-Konfigurationsproblem vor, das die Verbindung zum Ursprung CloudFront verhindert.
Themen
Fehler bei der SSL/TLS-Aushandlung zwischen CloudFront und einem benutzerdefinierten Ursprungsserver
Wenn Sie einen benutzerdefinierten Ursprung verwenden, der HTTPS zwischen CloudFront und Ihrem Ursprung erfordert, können nicht übereinstimmende Domainnamen zu Fehlern führen. Das SSL/TLS-Zertifikat für Ihren Ursprung muss einen Domainnamen enthalten, der entweder mit der Ursprungsdomain übereinstimmt, die Sie für die CloudFront Verteilung angegeben haben, oder mit dem Host
Header der Ursprungsanfrage.
Wenn die Domainnamen nicht übereinstimmen, schlägt der SSL/TLS-Handshake fehl und CloudFront gibt den HTTP-Statuscode 502 (Bad Gateway) zurück und setzt den Header auf. X-Cache
Error from cloudfront
Um festzustellen, ob die Domainnamen im Zertifikat mit der Ursprungsdomain in der Distribution oder im Host
Header übereinstimmen, können Sie einen Online-SSL-Checker oder OpenSSL verwenden. Wenn die Domain-Namen nicht übereinstimmen, haben Sie zwei Optionen:
-
Verwenden Sie ein neues SSL-/TLS-Zertifikat mit den entsprechenden Domain-Namen.
Wenn Sie AWS Certificate Manager (ACM) verwenden, finden Sie Informationen zum Anfordern eines neuen Zertifikats im AWS Certificate Manager Benutzerhandbuch unter Anfordern eines öffentlichen Zertifikats.
-
Ändern Sie die Verteilungskonfiguration, sodass nicht CloudFront mehr versucht wird, SSL für die Verbindung mit Ihrem Ursprung zu verwenden.
Online-SSL-Prüfung
Sie finden ein Test-Tool für SSL-Verbindungen, indem Sie im Internet nach den Begriffen "online ssl checker" suchen. In der Regel müssen Sie den Namen Ihrer Domain eingeben, und das Tool gibt eine Vielzahl von Informationen zu Ihrem SSL-/TLS-Zertifikat aus. Vergewissern Sie sich, dass das Zertifikat Ihren Domänennamen aus den Feldern Allgemeiner Name oder Alternative Antragstellernamen enthält.
OpenSSL
Um bei der Behebung von HTTP 502-Fehlern von zu helfen CloudFront, können Sie mit OpenSSL versuchen, eine SSL/TLS connection to your origin server. If OpenSSL is not able
to make a connection, that can indicate a problem with your origin server's
SSL/TLS Konfiguration vorzunehmen. Wenn OpenSSL eine Verbindung herstellen kann, gibt es Informationen über das Zertifikat des Ursprungsservers zurück, einschließlich des allgemeinen Namens (Feld Subject CN
) des Zertifikats und des alternativen Antragstellernamens (Feld Subject Alternative Name
).
Verwenden Sie den folgenden OpenSSL-Befehl, um die Verbindung zu Ihrem Ursprungsserver zu testen (origin domain
ersetzen Sie ihn durch den Domainnamen Ihres Ursprungsservers, z. B. example.com):
openssl s_client -connect
origin domain
name
:443
Wenn Folgendes zutrifft:
-
Ihr Ursprungsserver unterstützt mehrere Domänennamen mit mehreren SSL/TLS-Zertifikaten.
-
Ihre Verteilung ist so konfiguriert, dass der
Host
-Header an den Ursprung weitergeleitet wird.
Fügen Sie dann die -servername
Option wie im folgenden Beispiel zum OpenSSL-Befehl hinzu (CNAME
ersetzen Sie sie durch den CNAME, der in Ihrer Distribution konfiguriert ist):
openssl s_client -connect
origin domain
name
:443 -servername
CNAME
Ursprungsserver ist über die unterstützten Verschlüsselungsverfahren/Protokolle nicht erreichbar
CloudFront stellt mithilfe von Chiffren und Protokollen eine Verbindung zu Originalservern her. Eine Liste der Verschlüsselungen und Protokolle, die unterstützt werden, CloudFront finden Sie unter. Unterstützte Protokolle und Chiffren zwischen und dem Ursprung CloudFront Wenn Ihr Absender nicht mit einer dieser Chiffren oder Protokolle im SSL/TLS-Austausch antwortet, schlägt die Verbindung fehl. CloudFront Sie können überprüfen, ob Ihr Ursprungsserver diese Verschlüsselungsverfahren und Protokolle unterstützt, indem Sie ein Online-Tool wie SSL-Labs
SSL-/TLS-Zertifikat auf dem Ursprungsserver ist abgelaufen, ungültig oder selbstsigniert oder die Zertifikatkette weist die falsche Reihenfolge auf
Wenn der Ursprungsserver Folgendes zurückgibt, CloudFront bricht er die TCP-Verbindung ab, gibt den HTTP-Statuscode 502 (Bad Gateway) zurück und setzt den Header auf: X-Cache
Error from cloudfront
-
Abgelaufenes Zertifikat
-
Ungültiges Zertifikat
-
Selbstsigniertes Zertifikat
-
Zertifikatkette in der falschen Reihenfolge
Anmerkung
Wenn die gesamte Zertifikatskette, einschließlich des Zwischenzertifikats, nicht vorhanden ist, wird CloudFront die TCP-Verbindung unterbrochen.
Informationen zum Installieren eines SSL-/TLS-Zertifikat auf Ihrem benutzerdefinierten Ursprungsserver finden Sie unter Erfordern Sie HTTPS für die Kommunikation zwischen CloudFront und Ihrem benutzerdefinierten Ursprung.
Ursprungsserver ist über die eingestellten Ports in den Ursprungseinstellungen nicht erreichbar
Wenn Sie in Ihrer CloudFront Distribution einen Ursprung erstellen, können Sie die Ports festlegen, über die eine CloudFront Verbindung zum Ursprung für HTTP- und HTTPS-Verkehr hergestellt wird. Standardmäßig sind das die TCP-Ports 80 und 443. Sie haben die Möglichkeit, diese Ports zu ändern. Wenn Ihr Absender den Datenverkehr auf diesen Ports aus irgendeinem Grund ablehnt oder wenn Ihr Backend-Server nicht auf die Ports reagiert, kann keine Verbindung CloudFront hergestellt werden.
Sie können diese Probleme zu beheben, indem Sie alle Firewalls überprüfen, die in Ihrer Infrastruktur ausgeführt werden, und sich vergewissern, dass sie die unterstützten IP-Bereiche nicht blockieren. Weitere Informationen finden Sie unter AWS IP-Adressbereiche im Amazon VPC-Benutzerhandbuch. Überprüfen Sie außerdem, ob Ihr Webserver auf dem Ursprungsserver ausgeführt wird.
Fehler bei der Lambda-Validierung
Wenn Sie Lambda@Edge verwenden, kann der HTTP-Statuscode 502 anzeigen, dass Ihre Lambda-Funktionsantwort falsch gebildet wurde oder ungültigen Inhalt enthielt. Weitere Informationen zur Behebung von Lambda@Edge-Fehlern finden Sie unter Testen und Debuggen von Lambda @Edge -Funktionen.
CloudFront Fehler bei der Funktionsvalidierung
Wenn Sie CloudFront Funktionen verwenden, kann ein HTTP-502-Statuscode darauf hinweisen, dass die CloudFront Funktion versucht, einen schreibgeschützten Header hinzuzufügen, zu löschen oder zu ändern. Dieser Fehler tritt beim Testen nicht auf, sondern tritt auf, nachdem Sie die Funktion bereitgestellt und die Anforderung ausgeführt haben. Um diesen Fehler zu beheben, überprüfen und aktualisieren Sie Ihre CloudFront Funktion. Weitere Informationen finden Sie unter Funktionen aktualisieren.
DNS-Fehler (NonS3OriginDnsError
)
Ein HTTP 502-Fehler mit dem NonS3OriginDnsError
Fehlercode weist auf ein DNS-Konfigurationsproblem hin, das CloudFront verhindert, dass eine Verbindung zum Ursprung hergestellt werden kann. Wenn Sie diesen Fehler von erhalten CloudFront, stellen Sie sicher, dass die DNS-Konfiguration des Ursprungs korrekt ist und funktioniert.
Wenn es eine Anfrage für ein Objekt CloudFront erhält, das abgelaufen ist oder sich nicht in seinem Cache befindet, sendet es eine Anfrage an den Ursprung, um das Objekt abzurufen. Um eine erfolgreiche Anfrage an den Ursprung zu stellen, CloudFront führt eine DNS-Auflösung in der Ursprungsdomäne durch. Wenn beim DNS-Dienst für Ihre Domain Probleme auftreten, CloudFront kann der Domainname nicht aufgelöst werden, um die IP-Adresse abzurufen, was zu einem HTTP 502-Fehler (NonS3OriginDnsError
) führt. Sie können dieses Problem beheben, indem Sie sich an Ihren DNS-Anbieter wenden. Wenn Sie Amazon Route 53 verwenden, finden Sie weitere Informationen unter Warum kann ich nicht auf meine Website zugreifen, die Route-53-DNS-Services verwendet?
Sie können dieses Problem weiterhin beheben, indem Sie sicherstellen, dass die autoritativen Name-Server für die Stamm-Domäne bzw. den Zone Apex (z. B. example.com
) Ihres Ursprungs-Servers richtig funktionieren. Sie können die folgenden Befehle verwenden, um die Nameserver für Ihren Ursprungsserver-Apex zu finden, zum Beispiel mit einem Tool wie dig
dig
OriginAPEXDomainName
NS +short
nslookup -query=NS
OriginAPEXDomainName
Wenn Sie die Namen Ihrer Name-Server erhalten haben, verwenden Sie die folgenden Befehle, um den Domain-Namen Ihres Ursprungsservers von ihnen abzufragen; so können Sie sicherstellen, dass alle eine Antwort zurückgeben:
dig
OriginDomainName
@NameServer
nslookup
OriginDomainName
NameServer
Wichtig
Stellen Sie sicher, dass Sie diese DNS-Fehlerbehebung auf einem Computer durchführen, der mit dem öffentlichen Internet verbunden ist. CloudFront löst die Ursprungsdomäne mithilfe von öffentlichem DNS im Internet auf. Daher ist es wichtig, die Fehlerbehebung in einem ähnlichen Kontext durchzuführen.
Wenn der Ursprung eine Subdomäne ist, deren DNS-Berechtigung an einen anderen Nameserver als die Stammdomäne delegiert ist, stellen Sie sicher, dass die Datensätze für den Nameserver (NS
) und Autoritätsursprung (SOA
) für die Subdomäne korrekt konfiguriert sind. Sie können mit Befehlen, die den vorherigen Beispielen ähneln, nach diesen Datensätzen suchen.
Weitere Informationen zu DNS finden Sie unter DNS-Konzepte (Domain Name System) in der Dokumentation zu Amazon Route 53.
Origin 502 Application Load Balancer Balancer-Fehlers
Wenn Sie Application Load Balancer als Quelle verwenden und einen 502-Fehler erhalten, finden Sie weitere Informationen unter Wie behebe ich Application Load Balancer Balancer-HTTP 502-Fehler
API-Gateway-Origin-502-Fehler
Wenn Sie API Gateway verwenden und einen 502-Fehler erhalten, finden Sie weitere Informationen unter Wie behebe ich HTTP 502-Fehler von API Gateway REST APIs mit Lambda-Proxyintegration