Wie kann ich das Problem eines abgelaufenen Zertifikats oder den Fehler „invalid certificate“ beheben, wenn ich eine API Gateway-API mit einem benutzerdefinierten Domain-Namen aufrufe?

Lesedauer: 2 Minute
0

Ich habe einen benutzerdefinierten Domain-Namen für meine API Gateway-API eingerichtet. Ich habe eine Fehlermeldung erhalten, dass das AWS Certificate Manager (ACM)-Zertifikat abgelaufen ist oder dass es sich um ein „invalid certificate“ (ungültiges Zertifikat) handelt.

Kurzbeschreibung

Der Fehler „certificate has expired“ tritt auf, wenn das für die Erstellung des benutzerdefinierten Domain-Namens verwendete Zertifikat abgelaufen ist.

Der Fehler „invalid certificate“ tritt auf, weil der allgemeine Name (CN) oder der Betreffname im Zertifikat nicht übereinstimmen.

Lösung

Abgelaufene ACM-Zertifikate

Wenn dein Zertifikat abgelaufen ist, erhältst du möglicherweise eine Fehlermeldung ähnlich der folgenden: “SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]“

Um den Ablauf des Zertifikats zu überprüfen, führe den OpenSSL-Befehl s_client ähnlich dem folgenden aus:

openssl s_client -servername <custom domain name> -connect <custom domain name>:443 2>/dev/null | openssl x509 -noout -dates

Informationen zur Verlängerung des Zertifikats findest du unter Verwaltete Zertifikatsverlängerung in AWS Certificate Manager.

Informationen zur Vermeidung abgelaufener Zertifikate findest du unter So überwachst du den Ablauf importierter Zertifikate in ACM.

Nicht übereinstimmende ACM-Zertifikate

Wenn dein Zertifikat einen falschen CN oder Betreffnamen hat, erhältst du eine Fehlermeldung ähnlich der folgenden: „ERR_CERT_COMMON_NAME_INVALID“

Bestätige die folgenden Einstellungen, um das Problem zu lösen:

  • Das Zertifikat, das zum Erstellen des benutzerdefinierten Domain-Namens verwendet wurde, ist in ACM vorhanden.
  • Der Betreffname oder CN des Zertifikats enthält den benutzerdefinierten Domain-Namen. Wenn der benutzerdefinierte Domain-Name beispielsweise custom.example.com lautet, muss der Betreffname oder CN custom.example.com oder *example.com enthalten.
  • Stelle sicher, dass ein DNS-Datensatz auf den benutzerdefinierten Domain-Namen von API Gateway verweist. Der DNS-Datensatz kann entweder vom Typ CNAME oder A sein.

Hinweis: Benutzerdefinierte Domain-Namen können nicht direkt auf den execute-api-Endpunkt verweisen, da im Zertifikat die benutzerdefinierte Domain nicht als Alternativer Name des Betreffs (Subject Alternative Name, SAN) aufgeführt ist.

Beispielkonfiguration:

custom.example.com -> CNAME record -> d-yg54udirl4.execute-api.us-east-1.amazonaws.com

Du kannst deine Konfiguration überprüfen, indem du den dig-Befehl auf der benutzerdefinierten Domain ausführst, ähnlich dem folgenden:

$ dig custom.example.com

Ähnliche Informationen

Wie kann ich Fehler aufgrund einer DNS-Auflösung oder eines Zertifikatkonflikts für meinen benutzerdefinierten API-Gateway-Domain-Namen beheben?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Monaten