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.
HTTP502-Statuscode (Bad Gateway)
CloudFrontgibt einen HTTP 502-Statuscode (Bad Gateway) zurück, wenn das angeforderte Objekt CloudFront nicht bedient werden konnte, weil keine Verbindung zum Ursprungsserver hergestellt werden 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 CloudFront verhindert, dass eine Verbindung zum Ursprung hergestellt werden kann.
Themen
- SSL/Fehler bei der TLS Aushandlung zwischen CloudFront und einem benutzerdefinierten Ursprungsserver
- Ursprungsserver ist über die unterstützten Verschlüsselungsverfahren/Protokolle nicht erreichbar
- SSL/Das TLS Ursprungszertifikat ist abgelaufen, ungültig, selbstsigniert oder die Zertifikatskette hat die falsche Reihenfolge
- Ursprungsserver ist über die eingestellten Ports in den Ursprungseinstellungen nicht erreichbar
- Fehler bei der Lambda-Validierung
- CloudFront Fehler bei der Funktionsvalidierung
- DNSFehler (NonS3OriginDnsError)
- Application Load Balancer Balancer-Ursprungsfehler 502
- APIGateway-Origin-502-Fehler
SSL/Fehler bei der 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. DasSSL/TLS-Zertifikat für Ihren Ursprung muss einen Domainnamen enthalten, der entweder mit der Ursprungsdomain, die Sie für den CloudFront Vertrieb angegeben haben, oder mit dem Host
Header der Ursprungsanfrage übereinstimmt.
Wenn die Domainnamen nicht übereinstimmen, schlägt der TLS HandshakeSSL/fehl und CloudFront gibt HTTP den Statuscode 502 (Bad Gateway) zurück und setzt den X-Cache
Header aufError from cloudfront
.
Um festzustellen, ob die Domainnamen im Zertifikat mit der Ursprungsdomäne in der Distribution oder im Host
Header übereinstimmen, können Sie einen SSL Online-Checker oder Open verwenden. SSL Wenn die Domain-Namen nicht übereinstimmen, haben Sie zwei Optionen:
-
Besorgen Sie sich ein neues SSL TLS /-Zertifikat, das die entsprechenden Domainnamen enthält.
Wenn Sie AWS Certificate Manager (ACM) verwenden, finden Sie im AWS Certificate Manager Benutzerhandbuch unter Anfordern eines öffentlichen Zertifikats Informationen zum Anfordern eines neuen Zertifikats.
-
Ändern Sie die Distributionskonfiguration, sodass nicht CloudFront mehr versucht wirdSSL, eine Verbindung mit Ihrem Ursprungsserver herzustellen.
SSLOnline-Checker
Um ein SSL Testtool zu finden, suchen Sie im Internet nach „Online-SSL-Checker“. In der Regel geben Sie den Namen Ihrer Domain an, und das Tool gibt eine Vielzahl von Informationen über Ihr SSL TLS /-Zertifikat zurück. Vergewissern Sie sich, dass das Zertifikat Ihren Domänennamen aus den Feldern Allgemeiner Name oder Alternative Antragstellernamen enthält.
Öffnen SSL
Um bei der Behebung HTTP von 502-Fehlern von SSL zu helfen CloudFront, können Sie mit Open 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 Open SSL eine Verbindung herstellen kann, gibt es Informationen über das Zertifikat des Ursprungsservers zurück, einschließlich des allgemeinen Namens des Zertifikats (Subject CN
Feld) und des alternativen Antragstellers (Subject Alternative Name
Feld).
Verwenden Sie den folgenden SSL Open-Befehl, um die Verbindung zu Ihrem Ursprungsserver zu testen (ersetzen Sie origin domain
mit dem Domainnamen Ihres Ursprungsservers, z. B. example.com):
openssl s_client -connect
origin domain
name
:443
Wenn Folgendes zutrifft:
-
Ihr Ursprungsserver unterstützt mehrere Domainnamen mit mehreren SSL TLS /-Zertifikaten
-
Ihre Verteilung ist so konfiguriert, dass der
Host
-Header an den Ursprung weitergeleitet wird.
Fügen Sie dann, wie im folgenden Beispiel, die -servername
Option zum SSL Befehl Öffnen hinzu (ersetzen CNAME
mit demCNAME, 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 CloudFront und dem Ursprung Wenn Ihr Origin nicht mit einer dieser Chiffren oder Protokolle in der SSL TLS /-Exchange antwortet, CloudFront schlägt die Verbindung fehl. Mithilfe eines Online-Tools wie Labs können Sie überprüfen, ob Ihr Absender die Chiffren und Protokolle unterstützt. SSL
SSL/Das TLS Ursprungszertifikat ist abgelaufen, ungültig, selbstsigniert oder die Zertifikatskette hat die falsche Reihenfolge
Wenn der Ursprungsserver Folgendes zurückgibt, CloudFront bricht er die TCP Verbindung ab, gibt HTTP den Statuscode 502 (Bad Gateway) zurück und setzt den X-Cache
Header aufError 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, CloudFront wird die TCP Verbindung unterbrochen.
Hinweise zur Installation einesSSL/TLS-Zertifikats auf Ihrem benutzerdefinierten Ursprungsserver finden Sie unterErfordern 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 auf Ihrer CloudFront Distribution einen Ursprung erstellen, können Sie die Ports festlegen, die eine CloudFront Verbindung zum Ursprung herstellen, und zwar mit für HTTP und HTTPS Traffic. Standardmäßig sind dies TCP 80/443. Sie haben die Möglichkeit, diese Ports zu ändern. Wenn Ihr Origin aus irgendeinem Grund den Verkehr auf diesen Ports ablehnt oder wenn Ihr Backend-Server nicht auf die Ports reagiert, kann keine Verbindung hergestellt CloudFront 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 VPCAmazon-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 ein HTTP 502-Statuscode darauf hinweisen, dass Ihre Lambda-Funktionsantwort falsch formatiert war 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.
DNSFehler (NonS3OriginDnsError
)
Ein HTTP 502-Fehler mit dem NonS3OriginDnsError
Fehlercode weist darauf hin, dass ein DNS Konfigurationsproblem vorliegt, 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 Origins 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 Lö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. Um dieses Problem zu beheben, wenden Sie sich an Ihren DNS Anbieter oder, falls Sie Amazon Route 53 verwenden, finden Sie weitere Informationen unter Warum kann ich nicht auf meine Website zugreifen, die Route DNS 53-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 public im Internet DNS auf. Daher ist es wichtig, die Fehlerbehebung in einem ähnlichen Kontext durchzuführen.
Wenn es sich bei Ihrem Ursprung um eine Subdomain handelt, deren DNS Autorität an einen anderen Nameserver als die Stammdomain delegiert wurde, stellen Sie sicher, dass die Einträge für den Nameserver (NS
) und den Autoritätsstart (SOA
) korrekt für die Subdomain konfiguriert sind. Sie können mit Befehlen, die den vorherigen Beispielen ähneln, nach diesen Datensätzen suchen.
Weitere Informationen zu DNS finden Sie unter Konzepte des Domain Name System (DNS) in der Amazon Route 53-Dokumentation.
Application Load Balancer Balancer-Ursprungsfehler 502
Wenn Sie Application Load Balancer als Quelle verwenden und einen 502-Fehler erhalten, finden Sie weitere Informationen unter Wie behebe ich Application Load Balancer HTTP 502-Fehler
APIGateway-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