Не вдається додати слухач SSL, сертифікат сервера не знайдено для ключа


19

Я намагаюся налаштувати SSL на мій балансир навантаження за допомогою сертифіката, який я придбав у GoDaddy.

При спробі завантажити сертифікат у консоль я отримав помилку

Не вдалося створити балансир завантаження: Сертифікат сервера не знайдено для ключа: arn: aws: iam :: ************: сервер-сертифікат / міцерт

Я ніколи не стикався з цією помилкою, коли додавав SSL сертифікати. Я не впевнений, чому iamтут навіть використовується.

Після деякого гуглінгу я зміг завантажити свій сертифікат на iamвикористання aws cli (знову не впевнений, чому мені це потрібно зробити).

Тепер при зміні слухачів я можу бачити свій завантажений сертифікат як існуючий сертифікат SSL. Коли я намагаюся зберегти свої зміни до балансира навантаження, я отримую ту ж помилку. Я підтвердив, що сертифікат існує:

$ 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"
        }
    ]
}

(Я перевірив, що тут неясний номер облікового запису такий, як у помилці)

Звідси я застряг. Чому я не в змозі застосувати свій сертифікат до цього балансира навантаження?


Редагувати Чт 19 листопада 11:47:18 PST 2015

Зачекавши деякий час та вийшовши з системи, я зміг оновити слухачів своїм SSL-сертифікатом. Однак це, здається, не працює належним чином. Коли я намагаюся завантажити мій домен протягом HTTPSчасу вимкнення запиту. Здається, він не може завантажити сертифікат

$ 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

1
Certs завжди зберігається в IAM, так що це звучить , як ви натиснете затримки реплікації IAM або іншу помилку , коли , здавалося , Серто зберігати все в порядку, але там не було ... то , що ви спочатку повинні працювали. Чи відкрита група безпеки ELB для світу HTTPS? Якщо так, то у вас тут є друга аномалія, і я б запропонував створити новий ELB з нуля і подивитися, чи поводиться він інакше.
Майкл - sqlbot

Відповіді:


30

Я зіткнувся з тією ж проблемою при спробі створити ELB з веб-консолі. Я намагався створити там новий сертифікат через GUI, і він, нарешті, не вдався з тією ж помилкою. Я вирішив це, завантаживши файли сертифікатів окремо через aws cli. Це пояснено в цьому документі - http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert

Завантажте сертифікат, приватний ключ та ланцюжок сертифікатів, як це

aws iam upload-server-certificate --server-certificate-name my-server-cert \
  --certificate-body file://my-certificate.pem --private-key file://my-private-key.pem \
  --certificate-chain file://my-certificate-chain.pem

А потім перейдіть до веб-консолі та оберіть опцію "Вибрати існуючий сертифікат від AWS Identity and Access Access (IAM)" та виберіть пару сертифікатів, яку щойно завантажили. Це буде добре працювати після цього.


1
У мене була така ж проблема. Вирішили це так, як ви описуєте, використовуючи aws-клієнт, як пропонується посиланням, яким ви ділитесь. Використання веб-форми консолі IAM для вставки ключа, crt та ланцюжка для мене НЕ працює. Я встановив aws-client на моїй машині розробки, налаштував його на "конфігурацію aws" для додавання облікових даних, а потім запустив команду aws iam uplad-server-сертифікат ...
wojjas

GUI видав мені питання, CLI не став ... як завжди.
Виступ

1
Для оновлення (це вже 2017 рік), я щойно говорив про підтримку Amazon, і це все-таки відома проблема. CLI - це єдиний спосіб забезпечити коректну роботу цього процесу. -_-
Ніколас Крейдберг

2
Середина 2017 року і проблема все ще існує.
Діого Мело

2
Кінець січня 2018 року - досі та випуск
Andrew S

17

Помилка вводить в оману. Він завантажує cert. Як тільки ви отримаєте цю помилку, поверніться, щоб змінити. Виберіть існуючий сертифікат IAM та натисніть спадне меню - там ви побачите новий сертифікат.


Це те, що трапилось і зі мною. Я отримав помилку, припустив, що середнє значення не завантажується, тому я спробував ще раз ... і отримав іншу помилку, заявивши, що сертифікат вже є. Вихід із інтерфейсу "нового сертифіката" та повернення назад та вибір cert, який я щойно завантажив як "існуючий" сертифікат, працював чудово.
coredumperror

1
Дякую! Це так переплутано. Я не можу повірити, що вони не виправили щось подібне.
навієний

це точно правильно
shareef

Це продовжує відбуватися в робочому процесі завантаження сертифіката ELB IAM, але вони виправили це в робочому процесі завантаження сертифіката ALB IAM.
Йосип Родін

5

У мене була така ж проблема, але, на щастя, вдалося її вирішити, не вдаючись до CLI. Я отримав ELB додати HTTPS слухачем, вставивши ланцюжок сертифікатів в ключових державних сертифікатів поле, після того, як сам сертифікат.

Помилка виявляється лише тоді, коли ланцюжок сертифікатів було вставлено у власне поле введення ланцюжка сертифікатів у консолі (позначено необов’язково). Не дуже впевнений, чому це змінило значення, але це створило слухач HTTPS на ELB, і все було добре.


Це працювало для мене саме зараз із сертифікатом Comodo DV, придбаним через SSLmate. Окремою проблемою було те, що я отримав помилку відразу після натискання остаточної кнопки «подати», яку було виправлено повторним натисканням кнопки через кілька секунд (затримка поширення IAM через можливу послідовність?)
RichVel

3

Це було зумовлено особливим символом у назві сертифіката:. (Крапка) у моєму випадку. Після видалення всіх крапок із імені сертифіката все працювало нормально


1
А також видалити "-" тире
ysrb

2

Я просто так вдарив і про це. Пробував п'ять разів, щоб створити новий ELB, і це кожного разу не вдалося. Ніколи не пробував варіант API, але мені вдалося встановити сертифікат SSL

  1. Перше створення ELB; потім
  2. зміни слухача шляхом переходу з HTTP на HTTPS та завантаження мого сертифіката + ключ + проміжні продукти.

1

Я зіткнувся з тією ж проблемою. У моєму випадку я отримав помилку "Сертифікат сервера не знайдено для ключа" під час завантаження сертифіката SSL, але вони з часом завантажуються та з’являються у спадному меню. Я не отримую помилок при завантаженні через CLI. Коли я зв’язався із службою підтримки AWS, вони дали мені причину помилки нижче

Причиною цього є можлива послідовність. Завантажені сертифікати зберігаються в IAM. Оскільки IAM має велику базу даних, завантажений сертифікат повинен поширюватися по всіх базах даних. Якщо часу на поширення не вистачає, ELB, який намагається отримати цей сертифікат, не зможе знайти його в кінцевій точці, яку він запитує. Отже кидає "Сертифікат сервера не знайдено для ключа". Коли він врешті-решт розповсюджується, він згодом може бачити це як уже завантажений сертифікат


1

Я обійшов це, зайшовши до менеджера сертифікатів у консолі aws та завантаживши його спочатку. Потім за допомогою майстра балансування навантаження та вибору завантаженого сертифіката.


понаднормово завантажую SSL на AWS, я запускаю іншу проблему. Цього разу налаштування його в диспетчері сертифікатів, а потім просто використання його в EC2 Load Balancer працювало !!
user566245

0

Ту ж проблему тут і при використанні веб-інтерфейсу AWS: я завантажив дійсний сертифікат, правильний ключ та повний ланцюг, але отримав вищезгадану помилку.

Я спробував доповнити сертифікат іншим (тестовим) завантажувачем. Завантаження працювало, але статус слухача потім каже: "Недійсний-сертифікат".

Коли я знову відкрив діалог "Вибрати сертифікат", сертифікат не було обрано. Але очевидно, сертифікат завантажено правильно, тому що я міг вибрати його у списку сертифікатів.

Отже, повернувшись до свого початкового балансира навантаження, я намагався призначити цьому завантаженому сертифікату, дивна річ: його не було в списку. Я повторно спробував і завантажив сертифікат та його ключ, але ланцюг сертифікатів не залишився. Це спрацювало, тому я знав, що це повинен бути ланцюг, що невірно (це комодо-церт). Я знову завантажив ланцюжок з офіційної сторінки, завантажив весь пакет і він спрацював. Дивна річ: Коли я порівнював їх обох - корумповану та завантажену нову, вони здаються однаковими. Ті самі дати, та сама серіальна, та сама. Але різні.

Довга коротка історія: Це спрацювало, завантаживши ще раз проміжні сертифікати.


0

У мене була ця сама проблема, і те, що врешті-решт було виправлено, потрапляло в групу безпеки для балансира навантаження і переконувало, що порт 443 був відкритий.


0

Перш ніж створити класичний балансир навантаження, вам потрібно створити AMI (Зображення вашого екземпляра у виробництві). З цим перейдіть до налаштувань створення балансира навантаження та виконайте процес ще раз, і після цього надаються сертифікати і все добре в моєму випадку.



0

У мене була така ж проблема, якщо я завантажував сертифікат безпосередньо.

Якщо я використовував диспетчер сертифікатів (AWS Certificate Manager - ACM), мені вдалося завантажити сертифікат. Після цього я міг просто вибрати сертифікат у спадному списку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.