Direkt zum Inhalt

Warum kann ich kein benutzerdefiniertes SSL/TLS-Zertifikat für meine CloudFront-Distribution auswählen?

Lesedauer: 4 Minute
0

Ich möchte ein benutzerdefiniertes SSL/TLS-Zertifikat verwenden, wenn ich meine Amazon CloudFront-Distribution einrichte, aber ich habe nicht die Möglichkeit, es auszuwählen.

Kurzbeschreibung

In den folgenden Szenarien wird die benutzerdefinierte SSL/TLS-Zertifikatsoption für die CloudFront-Distribution möglicherweise nicht angezeigt:

  • Das Zertifikat wird in einer anderen AWS-Region gespeichert.
  • Die Validierung des AWS Certificate Manager (ACM)-Zertifikats ist fehlgeschlagen.
  • Das Zertifikat ist abgelaufen.
  • Du verfügst nicht über die erforderlichen AWS Identity and Access Management (IAM)-Berechtigungen, um Zertifikate anzuzeigen oder auszuwählen.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Zertifikatkonfiguration überprüfen

Führe die folgenden Maßnahmen zur Fehlerbehebung auf der Grundlage der CloudFront-Distributionskonfiguration durch.

ACM-Zertifikate

Wenn du ein von ACM angefordertes oder in ACM importiertes Zertifikat verwendest, vergewissere dich, dass das Zertifikat die folgenden Anforderungen erfüllt:

Weitere Informationen findest du unter Warum kann ich mein importiertes ACM-Zertifikat für meinen Load Balancer oder meine CloudFront-Distribution nicht finden?

In IAM importierte Zertifikate

Wenn du die SSL/TLS-Zertifikat in IAM importiert haben, stelle sicher, dass du den richtigen CloudFront-Pfad verwendet hast. Führe den folgenden AWS-CLI-Befehl upload-server-certificate aus, um das Zertifikat mit einem bestimmten CloudFront-Pfad hochzuladen:

aws iam upload-server-certificate
 --server-certificate-name CertificateName
 --certificate-body file://public_key_certificate_file.pem
 --private-key file://privatekey.pem
 --certificate-chain file://certificate_chain_file.pem
 --path /cloudfront/DistributionName/

Hinweis: Ersetze CertificateName durch den Zertifikatsnamen, file://public_key_certificate_file durch den öffentlichen Schlüssel und file://privatekey.pem durch den privaten Schlüssel. Ersetze außerdem file://certificate_chain_file durch die Zertifikatskette und DistributionName durch den CloudFront-Distributionsnamen.

Wenn du das Zertifikat nicht mit dem CloudFront-Pfad hochgeladen hast, führe den folgenden Befehl update-server-certificate aus, um das Zertifikat mit dem Pfad zu aktualisieren:

aws iam update-server-certificate
 --server-certificate-name CertificateName
 --new-path /cloudfront/DistributionName/

Hinweis: Ersetze CertificateName durch den Zertifikatsnamen und DistributionName durch den CloudFront-Distributionsnamen. Nachdem du zu einer CloudFront-Distribution ein Zertifikat hinzugefügt hast, ändert sich der Status der Distribution von Bereitgestellt in In Bearbeitung. Nachdem CloudFront die Änderungen an allen Edge-Standorten bereitgestellt hat, ändert sich der Status der Distribution wieder in Bereitgestellt. Die typische Bereitstellungszeit beträgt 5 Minuten.

Zertifikatsberechtigungen überprüfen

Vergewissere dich, dass du über die erforderlichen Berechtigungen verfügst, wenn du der CloudFront-Distribution ein Zertifikat von ACM oder IAM zuweist.

Der IAM-Benutzer oder die IAM-Rolle, die du für die Zuweisung des Zertifikats verwendest, muss über die folgenden Berechtigungen verfügen:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "acm:ListCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:ListDistributions",
                "cloudfront:ListStreamingDistributions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:List*",
                "cloudfront:Get*",
                "cloudfront:Update*"
            ],
            "Resource": "arn:aws:cloudfront::account-id:distribution/distribution-id"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListServerCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetServerCertificate",
                "iam:UpdateServerCertificate"
            ],
            "Resource": "arn:aws:iam::account-id:server-certificate/certificate-name-with-path"
        }
    ]
}

Zusätzliche Problembehandlung

Wenn du das SSL/TLS-Zertifikat in IAM importiert hast, stelle sicher, dass die Zertifikatskette in der richtigen Reihenfolge ist und dass das Zertifikat nicht abgelaufen ist. Weitere Informationen findest du unter Wie lade ich ein SSL-Zertifikat hoch und importiere es in IAM?

Um mehrere Domainnamen in der CloudFront-Distribution zu verwenden, fordere ein einzelnes SSL/TLS-Zertifikat an oder generiere es, das alle erforderlichen Domains enthält. Standardmäßig unterstützt ACM bis zu 100 Domains für jedes Zertifikat.

Hinweis: Du kannst nicht einer einzelnen CloudFront-Distribution mehr als ein SSL/TLS-Zertifikat zuordnen.

Ähnliche Informationen

Wie verwende ich ACM, um den Domainnamenfehler der CloudFront-Distribution zu beheben?"InvalidViewerCertificate"

Anforderungen für die Verwendung von SSL/TLS-Zertifikaten mit CloudFront