Wie behebe ich Probleme mit der Verbindung meiner CloudFront-Distribution zu einem benutzerdefinierten Ursprung über HTTPS?
Ich habe meine Amazon CloudFront-Distribution so konfiguriert, dass sie über HTTPS eine Verbindung zu einem benutzerdefinierten Ursprung herstellt. Jetzt erhalte ich den Fehler „CloudFront konnte keine Verbindung zum Ursprung herstellen“ mit dem HTTP-Statuscode 502 (Bad Gateway).
Lösung
Sicherstellen, dass der Ursprungs-Domainname der CloudFront-Distribution mit dem Domainnamen des Zertifikats übereinstimmt
Stellen Sie sicher, dass der in Ihrer CloudFront-Distribution angegebene Ursprungs-Domainname mit einem Domainnamen auf Ihrem ursprünglichen SSL/TLS-Zertifikat übereinstimmt. Der Ursprungs-Domainname der Distribution kann mit einem der folgenden Werte übereinstimmen:
- Dem als Common Name (CN) des Zertifikats angegebenen Domainnamen
- Dem Domainnamen, der im Subject Alternative Name (SAN) des Zertifikats angegeben ist
Wenn der Ursprungs-Domainname mit keinem mit Ihrem Zertifikat verknüpften Domainnamen übereinstimmt, gibt CloudFront den HTTP-Statuscode 502 (Bad Gateway) zurück.
Nach fehlenden Zwischen-Zertifizierungsstellen suchen
Verwenden Sie einen SSL-Checker, um zu testen, ob die Zertifikatskette Ihres Ursprungs verfügbar ist und keine Zwischen-Zertifizierungsstellen benötigt werden.
Wenn Sie Elastic Load Balancing als Ihren benutzerdefinierten Ursprung verwenden und die Zertifikatskette aktualisieren müssen, gehen Sie wie folgt vor:
Laden Sie das Zertifikat erneut mit der richtigen Zertifikatskette hoch.
-oder-
Verwenden Sie den AWS Certificate Manager (ACM), um ein öffentliches Zertifikat anzufordern, das Ihre Domain sichert. ACM ist vollständig in Elastic Load Balancing integriert.
Die unterstützten Protokollrichtlinien und Verschlüsselungen Ihres Ursprungs testen
Damit der SSL-Handshake erfolgreich ist, muss Ihr Ursprung die von CloudFront verwendeten Verschlüsselungen unterstützen.
Wenn in Ihrer Ursprungs-Protokollrichtlinie SSLv3 aktiviert ist, verwendet CloudFront nur SSLv3, um über die Befehlszeile oder das Windows-Terminal mit Ihrem Ursprung zu kommunizieren.
Hinweis: OpenSSL ist normalerweise standardmäßig auf Linux- und macOS-Systemen verfügbar. OpenSSL für Windows ist auf der OpenSSL-Website verfügbar.
Führen Sie die folgenden OpenSSL-Befehle aus, um zu testen, ob Ihr Ursprung die von CloudFront verwendeten Verschlüsselungen unterstützt.
Wenn Ihre Ursprungs-Protokollrichtlinie auf SSLv3 festgelegt ist, führen Sie Folgendes aus:
echo | openssl s_client -ssl3 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443
Wenn Ihr Ursprung TLS verwendet, testen Sie Ihren Ursprung für die einzelnen Protokolle mit den folgenden Befehlen:
Führen Sie für TLS Folgendes aus:
echo | openssl s_client -tls1 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
Führen Sie für TLS 1.1 Folgendes aus:
echo | openssl s_client -tls1_1 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
Führen Sie für TLS 1.2 Folgendes aus:
echo | openssl s_client -tls1_2 -cipher 'ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
Hinweis: Legen Sie den Wert von -servername auf den Ursprungs-Domainnamen fest. Wenn Sie CloudFront verwenden, um den Host-Header weiterzuleiten, legen Sie alternativ -servername auf den CNAME aus der CloudFront-Anfrage fest.
Wenn Sie erfolgreich eine Verbindung zum Ursprung hergestellt haben, wird Ihnen eine Ausgabe der vorherigen Befehle angezeigt, die der folgenden ähnelt. Die Ausgabe bestätigt, dass Ihre Verbindung mit der SSL- oder TLS-Version und den unterstützten Verschlüsselungen erfolgreich hergestellt wurde.
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA256 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES128-SHA256 .... Timeout : 7200 (sec) Verify return code: 0 (ok) ---- DONE
Hinweis: Weitere Hinweise zur Fehlerbehebung bei 502-Fehlern finden Sie unter HTTP 502-Statuscode (Bad Gateway).
Ähnliche Informationen
HTTPS für die Kommunikation zwischen CloudFront und Ihrem benutzerdefinierten Ursprung voraussetzen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 8 Monaten
- AWS OFFICIALAktualisiert vor 7 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren