Я пытаюсь настроить SSL на своем балансировщике нагрузки с помощью сертификата, который я приобрел у GoDaddy.
При попытке загрузить сертификат в консоль я получил ошибку
Не удалось создать балансировщик нагрузки: сертификат сервера не найден для ключа: arn: aws: iam :: ************: сертификат сервера / mycert
Я никогда раньше не сталкивался с этой ошибкой при добавлении SSL-сертификатов. Я не уверен, почему iam
даже используется здесь.
После некоторого iam
поиска в Google я смог загрузить свой сертификат в 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
источник
Ответы:
Я столкнулся с той же проблемой при попытке создать ELB из веб-консоли. Я пытался создать загрузку нового сертификата через графический интерфейс, и он, наконец, завершился с той же ошибкой. Я решил это, загрузив файлы сертификатов отдельно через aws cli. Это объясняется в этом документе - http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert
Загрузите сертификат, личный ключ и цепочку сертификатов следующим образом
Затем перейдите в веб-консоль и выберите параметр «Выбрать существующий сертификат в AWS Identity and Access Management (IAM)» и выберите только что загруженную пару сертификатов. После этого все будет хорошо.
источник
Ошибка вводит в заблуждение. Это действительно загрузить сертификат. Как только вы получите эту ошибку, вернитесь, чтобы измениться. Выберите существующий сертификат IAM и нажмите на выпадающий список - вы должны увидеть новый сертификат там.
источник
У меня была та же проблема, но, к счастью, удалось решить ее, не обращаясь к CLI. Я получил ELB добавить HTTPS слушатель, вставив цепочку сертификатов в сертификата открытого ключа поле, после того, как сам сертификат.
Ошибка проявлялась только тогда, когда цепочка сертификатов была вставлена в собственное поле ввода цепочки сертификатов в консоли (помечено как необязательное). Не совсем уверен, почему это имело значение, но он создал слушателя HTTPS на ELB, и все было хорошо.
источник
Это было связано со специальным символом в названии сертификата:. (Точка) в моем случае. Все работало нормально после удаления всех точек из названия сертификата
источник
Я просто ударил это тоже. Пять раз пытался создать новый ELB, но каждый раз это не удавалось. Никогда не пытался вариант API, но мне удалось установить сертификат SSL с помощью
источник
Я столкнулся с той же проблемой. В моем случае я получил сообщение об ошибке «Сертификат сервера не найден для ключа» при загрузке сертификата SSL, но в конечном итоге они загружаются и отображаются в раскрывающемся списке. Я не получаю никаких ошибок при загрузке через CLI. Когда я связался со службой поддержки AWS, они сообщили мне причину ошибки ниже
источник
Я справился с этим, зайдя в диспетчер сертификатов в консоли aws и загрузив туда сначала. Затем с помощью мастера балансировки нагрузки и выбора загруженного сертификата.
источник
Та же проблема здесь при использовании веб-интерфейса AWS: я загрузил действительный сертификат, правильный ключ и полную цепочку, но получил вышеупомянутую ошибку.
Я попытался загрузить сертификат на другой (тестовый) балансировщик нагрузки. Загрузка сработала, но статус слушателя говорит: «Invalid-Certificate».
Когда я снова открыл диалог «Выбор сертификата», сертификат не был выбран. Но очевидно, что сертификат был загружен правильно, потому что я мог выбрать его в списке сертификатов.
Итак, возвращаясь к своему первоначальному балансировщику нагрузки, я попытался назначить этот загруженный сертификат, странная вещь: его не было в списке. Я дал ему новую попытку и загрузил сертификат и его ключ, но пропустил цепочку сертификатов. Это сработало, так что я знал, что это должна быть цепочка, это не правильно (это коммодо-сертификат). Я снова скачал цепочку с официальной страницы, загрузил весь пакет, и все заработало. Странная вещь: теперь, когда я сравнил их обоих - поврежденный и новый загруженный, они кажутся одинаковыми. Те же даты, тот же сериал, те же самые. Но разные.
Короче говоря: это сработало, загрузив промежуточные сертификаты снова.
источник
У меня была та же самая проблема, и что в конечном итоге исправило ее, она входила в группу безопасности для балансировщика нагрузки и следила за тем, чтобы порт 443 был открыт.
источник
Перед созданием классического балансировщика нагрузки необходимо создать AMI (образ вашего экземпляра в производстве). Затем перейдите к настройкам создания балансировщика нагрузки и повторите процесс, а затем предоставленные сертификаты и все будет хорошо в моем случае.
источник
Я обошел это, не заполнив необязательное поле Certificate Chain .
источник
У меня была такая же проблема, если я загружал сертификат напрямую.
Если бы я использовал диспетчер сертификатов (AWS Certificate Manager - ACM), я смог загрузить сертификат. После этого я мог просто выбрать сертификат в выпадающем списке.
источник