Ich versuche, SSL auf meinem Load Balancer mit einem Zertifikat einzurichten, das ich bei GoDaddy gekauft habe.
Beim Versuch, das Zertifikat in die Konsole hochzuladen, ist ein Fehler aufgetreten
Fehler beim Erstellen des Lastenausgleichs: Serverzertifikat für den Schlüssel nicht gefunden: arn: aws: iam :: ***********: server-certificate / mycert
Ich habe diesen Fehler noch nie beim Hinzufügen von SSL-Zertifikaten festgestellt. Ich bin mir nicht sicher, warum iam
hier überhaupt verwendet wird.
Nach einigem Googeln konnte ich mein Zertifikat iam
mit aws cli hochladen (auch hier bin ich mir nicht sicher, warum ich das tun musste).
Wenn ich nun die Listener ändere, kann ich mein hochgeladenes Zertifikat als vorhandenes SSL-Zertifikat sehen. Wenn ich jedoch versuche, meine Änderungen im Load Balancer zu speichern, wird derselbe Fehler angezeigt. Ich habe bestätigt, dass das Zertifikat existiert:
$ aws iam list-server-certificates
{
"ServerCertificateMetadataList": [
{
"ServerCertificateId": "*********************",
"ServerCertificateName": "mycert",
"Expiration": "2018-11-19T18:47:38Z",
"Path": "/",
"Arn": "arn:aws:iam::************:server-certificate/mycert",
"UploadDate": "2015-11-19T19:23:32Z"
}
]
}
(Ich habe überprüft, dass die verdeckte Kontonummer hier mit der im Fehler übereinstimmt.)
Ab hier stecke ich fest. Warum kann ich mein Zertifikat nicht auf diesen Load Balancer anwenden?
Edit Thu Nov 19 11:47:18 PST 2015
Nachdem ich eine Weile gewartet und mich aus- und wieder angemeldet hatte, konnte ich die Listener mit meinem SSL-Zertifikat aktualisieren. Es scheint jedoch nicht richtig zu funktionieren. Beim Versuch, meine Domain über HTTPS
die Anfrage zu laden, tritt eine Zeitüberschreitung auf. Es scheint, dass das Zertifikat nicht geladen werden kann
$ echo | openssl s_client -connect www.example.com:443 2>/dev/null | openssl x509 -noout -subject
unable to load certificate
69457:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-52.30.1/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE
quelle
Antworten:
Ich hatte das gleiche Problem beim Versuch, die ELB über die Webkonsole zu erstellen. Ich habe versucht, dort ein neues Zertifikat über die GUI hochzuladen und es schlug schließlich mit demselben Fehler fehl. Ich habe es gelöst, indem ich die Zertifikatsdateien separat über aws cli hochgeladen habe. Dies wird in diesem Dokument erläutert: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert
Laden Sie das Zertifikat, den privaten Schlüssel und die Zertifikatkette wie folgt hoch
Rufen Sie dann die Webkonsole auf und wählen Sie die Option "Vorhandenes Zertifikat aus AWS Identity and Access Management (IAM) auswählen" und das soeben hochgeladene Zertifikatpaar aus. Danach wird es gut funktionieren.
quelle
Der Fehler ist irreführend. Das Zertifikat wird hochgeladen. Sobald Sie diesen Fehler erhalten, kehren Sie zum Ändern zurück. Wählen Sie das vorhandene IAM-Zertifikat aus und klicken Sie auf die Dropdown-Liste. Dort sollte das neue Zertifikat angezeigt werden.
quelle
Ich hatte das gleiche Problem, konnte es aber glücklicherweise beheben, ohne die CLI drücken zu müssen. Ich habe die ELB dazu gebracht, einen HTTPS-Listener hinzuzufügen, indem sie die Zertifikatskette nach dem Zertifikat selbst in das Feld für das Zertifikat des öffentlichen Schlüssels einfügt .
Der Fehler trat nur auf, wenn die Zertifikatskette in ein eigenes Eingabefeld für die Zertifikatskette in der Konsole eingefügt wurde (als optional markiert). Ich bin mir nicht sicher, warum dies einen Unterschied machte, aber es hat den HTTPS-Listener auf der ELB erstellt und alles war gut.
quelle
Dies lag in meinem Fall an einem Sonderzeichen im Zertifikatsnamen:. (Punkt). Alles hat gut funktioniert, nachdem alle Punkte aus dem Zertifikatnamen entfernt wurden
quelle
Ich habe das auch nur getroffen. Es wurde fünf Mal versucht, einen neuen ELB zu erstellen, der jedoch jedes Mal fehlschlug. Nie versucht, eine API-Variante, aber ich habe es geschafft, das SSL-Zertifikat von zu setzen
quelle
Ich stand vor dem gleichen Problem. In meinem Fall habe ich beim Hochladen eines SSL-Zertifikats die Fehlermeldung "Serverzertifikat für den Schlüssel nicht gefunden" erhalten, aber sie werden schließlich hochgeladen und im Dropdown-Menü angezeigt. Beim Hochladen über CLI treten keine Fehler auf. Als ich mich an den AWS-Support wandte, gab er mir den folgenden Grund für den Fehler an
quelle
Ich habe das umgangen, indem ich zum Zertifikatsmanager in der aws-Konsole gegangen bin und zuerst dort hochgeladen habe. Verwenden Sie dann den Assistenten für den Lastenausgleich und wählen Sie das Zertifikat aus, das Sie hochgeladen haben.
quelle
Dasselbe Problem bei Verwendung der AWS-Weboberfläche: Ich habe ein gültiges Zertifikat, den richtigen Schlüssel und die vollständige Kette hochgeladen, habe jedoch den oben genannten Fehler erhalten.
Ich habe versucht, das Zertifikat auf einen anderen (Test-) Load Balancer hochzuladen. Der Upload hat funktioniert, aber der Listener-Status lautet dann: "Invalid-Certificate".
Als ich den Dialog "Zertifikat auswählen" erneut öffnete, wurde kein Zertifikat ausgewählt. Aber offensichtlich wurde das Zertifikat korrekt hochgeladen, da ich es in der Zertifikatsliste auswählen konnte.
Also, zurück zu meinem ursprünglichen Load Balancer, habe ich versucht, dieses hochgeladene Zertifikat zuzuweisen, eine seltsame Sache: Es war nicht in der Liste. Ich habe es erneut versucht und das Zertifikat und seinen Schlüssel hochgeladen, aber die Zertifikatskette weggelassen. Das hat funktioniert, also wusste ich, dass es die Kette sein muss, die nicht korrekt ist (es ist ein Commodo-Zertifikat). Ich habe die Kette erneut von der offiziellen Seite heruntergeladen, das gesamte Bundle hochgeladen und es hat funktioniert. Merkwürdige Sache: Wenn ich beide verglichen habe - die korrupte und die neu heruntergeladene -, scheinen sie gleich zu sein. Gleiche Daten, gleiche Serien, gleiche Daten. Aber anders.
Kurz gesagt: Es funktionierte, indem die Zwischenzertifikate erneut heruntergeladen wurden.
quelle
Ich hatte das gleiche Problem und was es schließlich behoben hat, war, in die Sicherheitsgruppe für den Lastenausgleich zu gehen und sicherzustellen, dass Port 443 geöffnet wurde.
quelle
Bevor Sie den Classic Load Balancer erstellen, müssen Sie ein AMI (Image Ihrer Instanz in der Produktion) erstellen. Gehen Sie dazu zu den Einstellungen für die Erstellung des Load Balancers und führen Sie den Vorgang erneut aus. Danach werden die bereitgestellten Zertifikate und in meinem Fall alles in Ordnung.
quelle
Ich umgangen dies nicht in der Füllung optional Zertifikatskette Feld.
quelle
Ich hatte das gleiche Problem, wenn ich ein Zertifikat direkt hochlud.
Wenn ich den Certificate Manager (AWS Certificate Manager - ACM) verwendet habe, konnte ich das Zertifikat hochladen. Danach konnte ich das Zertifikat einfach in einer Dropdown-Liste auswählen.
quelle